public class org.codehaus.plexus.util.FileUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.codehaus.plexus.util.FileUtils
  super_class: java.lang.Object
{
  public static final int ONE_KB;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1024

  public static final int ONE_MB;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1048576

  public static final int ONE_GB;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1073741824

  private static final long FILE_COPY_BUFFER_SIZE;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 31457280

  public static java.lang.String FS;
    descriptor: Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  private static final java.lang.String[] INVALID_CHARACTERS_FOR_WINDOWS_FILE_NAME;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 143
            ldc "file.separator"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            putstatic org.codehaus.plexus.util.FileUtils.FS:Ljava/lang/String;
         1: .line 151
            bipush 7
            anewarray java.lang.String
            dup
            iconst_0
            ldc ":"
            aastore
            dup
            iconst_1
            ldc "*"
            aastore
            dup
            iconst_2
            ldc "?"
            aastore
            dup
            iconst_3
            ldc "\""
            aastore
            dup
            iconst_4
            ldc "<"
            aastore
            dup
            iconst_5
            ldc ">"
            aastore
            dup
            bipush 6
            ldc "|"
            aastore
            putstatic org.codehaus.plexus.util.FileUtils.INVALID_CHARACTERS_FOR_WINDOWS_FILE_NAME:[Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.codehaus.plexus.util.FileUtils this
         0: .line 118
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.codehaus.plexus.util.FileUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/codehaus/plexus/util/FileUtils;

  public static java.lang.String[] getDefaultExcludes();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 159
            getstatic org.codehaus.plexus.util.DirectoryScanner.DEFAULTEXCLUDES:[Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.util.List<java.lang.String> getDefaultExcludesAsList();
    descriptor: ()Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 168
            invokestatic org.codehaus.plexus.util.FileUtils.getDefaultExcludes:()[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public static java.lang.String getDefaultExcludesAsString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 178
            getstatic org.codehaus.plexus.util.DirectoryScanner.DEFAULTEXCLUDES:[Ljava/lang/String;
            ldc ","
            invokestatic org.codehaus.plexus.util.StringUtils.join:([Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.String byteCountToDisplaySize(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // int size
         0: .line 191
            iload 0 /* size */
            ldc 1073741824
            idiv
            ifle 3
         1: .line 193
            new java.lang.StringBuilder
            dup
            iload 0 /* size */
            ldc 1073741824
            idiv
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " GB"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* displaySize */
        start local 1 // java.lang.String displaySize
         2: .line 194
            goto 10
        end local 1 // java.lang.String displaySize
         3: .line 195
      StackMap locals:
      StackMap stack:
            iload 0 /* size */
            ldc 1048576
            idiv
            ifle 6
         4: .line 197
            new java.lang.StringBuilder
            dup
            iload 0 /* size */
            ldc 1048576
            idiv
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " MB"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* displaySize */
        start local 1 // java.lang.String displaySize
         5: .line 198
            goto 10
        end local 1 // java.lang.String displaySize
         6: .line 199
      StackMap locals:
      StackMap stack:
            iload 0 /* size */
            sipush 1024
            idiv
            ifle 9
         7: .line 201
            new java.lang.StringBuilder
            dup
            iload 0 /* size */
            sipush 1024
            idiv
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " KB"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* displaySize */
        start local 1 // java.lang.String displaySize
         8: .line 202
            goto 10
        end local 1 // java.lang.String displaySize
         9: .line 205
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            iload 0 /* size */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " bytes"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* displaySize */
        start local 1 // java.lang.String displaySize
        10: .line 208
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* displaySize */
            areturn
        end local 1 // java.lang.String displaySize
        end local 0 // int size
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         size  I
            2    3     1  displaySize  Ljava/lang/String;
            5    6     1  displaySize  Ljava/lang/String;
            8    9     1  displaySize  Ljava/lang/String;
           10   11     1  displaySize  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      size  

  public static java.lang.String dirname(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String filename
         0: .line 219
            aload 0 /* filename */
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 1 /* i */
        start local 1 // int i
         1: .line 220
            iload 1 /* i */
            iflt 2
            aload 0 /* filename */
            iconst_0
            iload 1 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            goto 3
      StackMap locals: int
      StackMap stack:
         2: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // int i
        end local 0 // java.lang.String filename
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  filename  Ljava/lang/String;
            1    4     1         i  I
    MethodParameters:
          Name  Flags
      filename  

  public static java.lang.String filename(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String filename
         0: .line 231
            aload 0 /* filename */
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 1 /* i */
        start local 1 // int i
         1: .line 232
            iload 1 /* i */
            iflt 2
            aload 0 /* filename */
            iload 1 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 0 /* filename */
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // int i
        end local 0 // java.lang.String filename
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  filename  Ljava/lang/String;
            1    4     1         i  I
    MethodParameters:
          Name  Flags
      filename  

  public static java.lang.String basename(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String filename
         0: .line 243
            aload 0 /* filename */
            aload 0 /* filename */
            invokestatic org.codehaus.plexus.util.FileUtils.extension:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic org.codehaus.plexus.util.FileUtils.basename:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String filename
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  filename  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      filename  

  public static java.lang.String basename(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String filename
        start local 1 // java.lang.String suffix
         0: .line 255
            aload 0 /* filename */
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            iconst_1
            iadd
            istore 2 /* i */
        start local 2 // int i
         1: .line 256
            aload 1 /* suffix */
            ifnull 2
            aload 1 /* suffix */
            invokevirtual java.lang.String.length:()I
            ifle 2
            aload 0 /* filename */
            aload 1 /* suffix */
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iconst_m1
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* lastDot */
        start local 3 // int lastDot
         4: .line 258
            iload 3 /* lastDot */
            iflt 6
         5: .line 260
            aload 0 /* filename */
            iload 2 /* i */
            iload 3 /* lastDot */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
         6: .line 262
      StackMap locals: int
      StackMap stack:
            iload 2 /* i */
            ifle 8
         7: .line 264
            aload 0 /* filename */
            iload 2 /* i */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
         8: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* filename */
            areturn
        end local 3 // int lastDot
        end local 2 // int i
        end local 1 // java.lang.String suffix
        end local 0 // java.lang.String filename
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0  filename  Ljava/lang/String;
            0    9     1    suffix  Ljava/lang/String;
            1    9     2         i  I
            4    9     3   lastDot  I
    MethodParameters:
          Name  Flags
      filename  
      suffix    

  public static java.lang.String extension(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String filename
         0: .line 282
            aload 0 /* filename */
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 1 /* lastSep */
        start local 1 // int lastSep
         1: .line 284
            iload 1 /* lastSep */
            ifge 4
         2: .line 286
            aload 0 /* filename */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* lastDot */
        start local 2 // int lastDot
         3: .line 287
            goto 7
        end local 2 // int lastDot
         4: .line 290
      StackMap locals: int
      StackMap stack:
            aload 0 /* filename */
            iload 1 /* lastSep */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* lastDot */
        start local 2 // int lastDot
         5: .line 291
            iload 2 /* lastDot */
            iflt 7
         6: .line 293
            iload 2 /* lastDot */
            iload 1 /* lastSep */
            iconst_1
            iadd
            iadd
            istore 2 /* lastDot */
         7: .line 297
      StackMap locals: int
      StackMap stack:
            iload 2 /* lastDot */
            iflt 9
            iload 2 /* lastDot */
            iload 1 /* lastSep */
            if_icmple 9
         8: .line 299
            aload 0 /* filename */
            iload 2 /* lastDot */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
         9: .line 302
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
        end local 2 // int lastDot
        end local 1 // int lastSep
        end local 0 // java.lang.String filename
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0  filename  Ljava/lang/String;
            1   10     1   lastSep  I
            3    4     2   lastDot  I
            5   10     2   lastDot  I
    MethodParameters:
          Name  Flags
      filename  

  public static boolean fileExists(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String fileName
         0: .line 313
            new java.io.File
            dup
            aload 0 /* fileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 1 /* file */
        start local 1 // java.io.File file
         1: .line 314
            aload 1 /* file */
            invokevirtual java.io.File.exists:()Z
            ireturn
        end local 1 // java.io.File file
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  fileName  Ljava/lang/String;
            1    2     1      file  Ljava/io/File;
    MethodParameters:
          Name  Flags
      fileName  

  public static java.lang.String fileRead(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String file
         0: .line 327
            aload 0 /* file */
            aconst_null
            invokestatic org.codehaus.plexus.util.FileUtils.fileRead:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  file  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  public static java.lang.String fileRead(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String file
        start local 1 // java.lang.String encoding
         0: .line 339
            new java.io.File
            dup
            aload 0 /* file */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            aload 1 /* encoding */
            invokestatic org.codehaus.plexus.util.FileUtils.fileRead:(Ljava/io/File;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String encoding
        end local 0 // java.lang.String file
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      file  Ljava/lang/String;
            0    1     1  encoding  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      file      
      encoding  

  public static java.lang.String fileRead(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 352
            aload 0 /* file */
            aconst_null
            invokestatic org.codehaus.plexus.util.FileUtils.fileRead:(Ljava/io/File;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  file  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  public static java.lang.String fileRead(java.io.File, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // java.io.File file
        start local 1 // java.lang.String encoding
         0: .line 364
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuilder buf
         1: .line 366
            aconst_null
            astore 3 /* reader */
        start local 3 // java.io.Reader reader
         2: .line 370
            aload 1 /* encoding */
            ifnull 5
         3: .line 372
            new java.io.InputStreamReader
            dup
            new java.io.FileInputStream
            dup
            aload 0 /* file */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            aload 1 /* encoding */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            astore 3 /* reader */
         4: .line 373
            goto 6
         5: .line 376
      StackMap locals: java.lang.StringBuilder java.io.Reader
      StackMap stack:
            new java.io.InputStreamReader
            dup
            new java.io.FileInputStream
            dup
            aload 0 /* file */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            astore 3 /* reader */
         6: .line 379
      StackMap locals:
      StackMap stack:
            sipush 512
            newarray 5
            astore 5 /* b */
        start local 5 // char[] b
         7: .line 380
            goto 9
        start local 4 // int count
         8: .line 382
      StackMap locals: int char[]
      StackMap stack:
            aload 2 /* buf */
            aload 5 /* b */
            iconst_0
            iload 4 /* count */
            invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
            pop
        end local 4 // int count
         9: .line 380
      StackMap locals: java.io.File java.lang.String java.lang.StringBuilder java.io.Reader top char[]
      StackMap stack:
            aload 3 /* reader */
            aload 5 /* b */
            invokevirtual java.io.Reader.read:([C)I
            dup
            istore 4 /* count */
        start local 4 // int count
        10: ifge 8
        11: .line 384
            aload 3 /* reader */
            invokevirtual java.io.Reader.close:()V
        12: .line 385
            aconst_null
            astore 3 /* reader */
        end local 5 // char[] b
        end local 4 // int count
        13: .line 386
            goto 17
        14: .line 388
      StackMap locals: java.io.File java.lang.String java.lang.StringBuilder java.io.Reader
      StackMap stack: java.lang.Throwable
            astore 6
        15: .line 389
            aload 3 /* reader */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/Reader;)V
        16: .line 390
            aload 6
            athrow
        17: .line 389
      StackMap locals:
      StackMap stack:
            aload 3 /* reader */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/Reader;)V
        18: .line 392
            aload 2 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.io.Reader reader
        end local 2 // java.lang.StringBuilder buf
        end local 1 // java.lang.String encoding
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      file  Ljava/io/File;
            0   19     1  encoding  Ljava/lang/String;
            1   19     2       buf  Ljava/lang/StringBuilder;
            2   19     3    reader  Ljava/io/Reader;
            8    9     4     count  I
           10   13     4     count  I
            7   13     5         b  [C
      Exception table:
        from    to  target  type
           2    14      14  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      file      
      encoding  

  public static void fileAppend(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String fileName
        start local 1 // java.lang.String data
         0: .line 406
            aload 0 /* fileName */
            aconst_null
            aload 1 /* data */
            invokestatic org.codehaus.plexus.util.FileUtils.fileAppend:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 407
            return
        end local 1 // java.lang.String data
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  fileName  Ljava/lang/String;
            0    2     1      data  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      fileName  
      data      

  public static void fileAppend(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.String fileName
        start local 1 // java.lang.String encoding
        start local 2 // java.lang.String data
         0: .line 420
            aconst_null
            astore 3 /* out */
        start local 3 // java.io.FileOutputStream out
         1: .line 423
            new java.io.FileOutputStream
            dup
            aload 0 /* fileName */
            iconst_1
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;Z)V
            astore 3 /* out */
         2: .line 424
            aload 1 /* encoding */
            ifnull 5
         3: .line 426
            aload 3 /* out */
            aload 2 /* data */
            aload 1 /* encoding */
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            invokevirtual java.io.FileOutputStream.write:([B)V
         4: .line 427
            goto 6
         5: .line 430
      StackMap locals: java.io.FileOutputStream
      StackMap stack:
            aload 3 /* out */
            aload 2 /* data */
            invokevirtual java.lang.String.getBytes:()[B
            invokevirtual java.io.FileOutputStream.write:([B)V
         6: .line 432
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            invokevirtual java.io.FileOutputStream.close:()V
         7: .line 433
            aconst_null
            astore 3 /* out */
         8: .line 434
            goto 12
         9: .line 436
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        10: .line 437
            aload 3 /* out */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/OutputStream;)V
        11: .line 438
            aload 4
            athrow
        12: .line 437
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/OutputStream;)V
        13: .line 439
            return
        end local 3 // java.io.FileOutputStream out
        end local 2 // java.lang.String data
        end local 1 // java.lang.String encoding
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0  fileName  Ljava/lang/String;
            0   14     1  encoding  Ljava/lang/String;
            0   14     2      data  Ljava/lang/String;
            1   14     3       out  Ljava/io/FileOutputStream;
      Exception table:
        from    to  target  type
           1     9       9  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      fileName  
      encoding  
      data      

  public static void fileWrite(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String fileName
        start local 1 // java.lang.String data
         0: .line 452
            aload 0 /* fileName */
            aconst_null
            aload 1 /* data */
            invokestatic org.codehaus.plexus.util.FileUtils.fileWrite:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 453
            return
        end local 1 // java.lang.String data
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  fileName  Ljava/lang/String;
            0    2     1      data  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      fileName  
      data      

  public static void fileWrite(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.String fileName
        start local 1 // java.lang.String encoding
        start local 2 // java.lang.String data
         0: .line 466
            aload 0 /* fileName */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: new java.io.File
            dup
            aload 0 /* fileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
      StackMap locals:
      StackMap stack: java.io.File
         2: astore 3 /* file */
        start local 3 // java.io.File file
         3: .line 467
            aload 3 /* file */
            aload 1 /* encoding */
            aload 2 /* data */
            invokestatic org.codehaus.plexus.util.FileUtils.fileWrite:(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)V
         4: .line 468
            return
        end local 3 // java.io.File file
        end local 2 // java.lang.String data
        end local 1 // java.lang.String encoding
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  fileName  Ljava/lang/String;
            0    5     1  encoding  Ljava/lang/String;
            0    5     2      data  Ljava/lang/String;
            3    5     3      file  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      fileName  
      encoding  
      data      

  public static void fileWrite(java.io.File, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.io.File file
        start local 1 // java.lang.String data
         0: .line 482
            aload 0 /* file */
            aconst_null
            aload 1 /* data */
            invokestatic org.codehaus.plexus.util.FileUtils.fileWrite:(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 483
            return
        end local 1 // java.lang.String data
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  file  Ljava/io/File;
            0    2     1  data  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  
      data  

  public static void fileWrite(java.io.File, java.lang.String, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // java.io.File file
        start local 1 // java.lang.String encoding
        start local 2 // java.lang.String data
         0: .line 497
            aconst_null
            astore 3 /* writer */
        start local 3 // java.io.Writer writer
         1: .line 500
            new java.io.FileOutputStream
            dup
            aload 0 /* file */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 4 /* out */
        start local 4 // java.io.OutputStream out
         2: .line 501
            aload 1 /* encoding */
            ifnull 5
         3: .line 503
            new java.io.OutputStreamWriter
            dup
            aload 4 /* out */
            aload 1 /* encoding */
            invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/lang/String;)V
            astore 3 /* writer */
         4: .line 504
            goto 6
         5: .line 507
      StackMap locals: java.io.Writer java.io.OutputStream
      StackMap stack:
            new java.io.OutputStreamWriter
            dup
            aload 4 /* out */
            invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;)V
            astore 3 /* writer */
         6: .line 509
      StackMap locals:
      StackMap stack:
            aload 3 /* writer */
            aload 2 /* data */
            invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
         7: .line 510
            aload 3 /* writer */
            invokevirtual java.io.Writer.close:()V
         8: .line 511
            aconst_null
            astore 3 /* writer */
        end local 4 // java.io.OutputStream out
         9: .line 512
            goto 13
        10: .line 514
      StackMap locals: java.io.File java.lang.String java.lang.String java.io.Writer
      StackMap stack: java.lang.Throwable
            astore 5
        11: .line 515
            aload 3 /* writer */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/Writer;)V
        12: .line 516
            aload 5
            athrow
        13: .line 515
      StackMap locals:
      StackMap stack:
            aload 3 /* writer */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/Writer;)V
        14: .line 517
            return
        end local 3 // java.io.Writer writer
        end local 2 // java.lang.String data
        end local 1 // java.lang.String encoding
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      file  Ljava/io/File;
            0   15     1  encoding  Ljava/lang/String;
            0   15     2      data  Ljava/lang/String;
            1   15     3    writer  Ljava/io/Writer;
            2    9     4       out  Ljava/io/OutputStream;
      Exception table:
        from    to  target  type
           1    10      10  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      file      
      encoding  
      data      

  public static void fileDelete(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String fileName
         0: .line 526
            new java.io.File
            dup
            aload 0 /* fileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 1 /* file */
        start local 1 // java.io.File file
         1: .line 527
            invokestatic org.codehaus.plexus.util.Java7Detector.isJava7:()Z
            ifeq 6
         2: .line 531
            aload 1 /* file */
            invokestatic org.codehaus.plexus.util.NioFiles.deleteIfExists:(Ljava/io/File;)Z
            pop
         3: .line 532
            goto 7
         4: .line 533
      StackMap locals: java.lang.String java.io.File
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
         5: .line 535
            new java.lang.RuntimeException
            dup
            aload 2 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException e
         6: .line 540
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            invokevirtual java.io.File.delete:()Z
            pop
         7: .line 542
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.File file
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0  fileName  Ljava/lang/String;
            1    8     1      file  Ljava/io/File;
            5    6     2         e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.IOException
    MethodParameters:
          Name  Flags
      fileName  

  public static boolean waitFor(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String fileName
        start local 1 // int seconds
         0: .line 553
            new java.io.File
            dup
            aload 0 /* fileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            iload 1 /* seconds */
            invokestatic org.codehaus.plexus.util.FileUtils.waitFor:(Ljava/io/File;I)Z
            ireturn
        end local 1 // int seconds
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  fileName  Ljava/lang/String;
            0    1     1   seconds  I
    MethodParameters:
          Name  Flags
      fileName  
      seconds   

  public static boolean waitFor(java.io.File, int);
    descriptor: (Ljava/io/File;I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.io.File file
        start local 1 // int seconds
         0: .line 565
            iconst_0
            istore 2 /* timeout */
        start local 2 // int timeout
         1: .line 566
            iconst_0
            istore 3 /* tick */
        start local 3 // int tick
         2: .line 567
            goto 10
         3: .line 569
      StackMap locals: int int
      StackMap stack:
            iload 3 /* tick */
            iinc 3 /* tick */ 1
            bipush 10
            if_icmplt 7
         4: .line 571
            iconst_0
            istore 3 /* tick */
         5: .line 572
            iload 2 /* timeout */
            iinc 2 /* timeout */ 1
            iload 1 /* seconds */
            if_icmple 7
         6: .line 574
            iconst_0
            ireturn
         7: .line 579
      StackMap locals:
      StackMap stack:
            ldc 100
            invokestatic java.lang.Thread.sleep:(J)V
         8: .line 580
            goto 10
         9: .line 581
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
            pop
        10: .line 567
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 3
        11: .line 586
            iconst_1
            ireturn
        end local 3 // int tick
        end local 2 // int timeout
        end local 1 // int seconds
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     file  Ljava/io/File;
            0   12     1  seconds  I
            1   12     2  timeout  I
            2   12     3     tick  I
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.InterruptedException
    MethodParameters:
         Name  Flags
      file     
      seconds  

  public static java.io.File getFile(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String fileName
         0: .line 597
            new java.io.File
            dup
            aload 0 /* fileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  fileName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      fileName  

  public static java.lang.String[] getFilesFromExtension(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=12, args_size=2
        start local 0 // java.lang.String directory
        start local 1 // java.lang.String[] extensions
         0: .line 613
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* files */
        start local 2 // java.util.List files
         1: .line 615
            new java.io.File
            dup
            aload 0 /* directory */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 3 /* currentDir */
        start local 3 // java.io.File currentDir
         2: .line 617
            aload 3 /* currentDir */
            invokevirtual java.io.File.list:()[Ljava/lang/String;
            astore 4 /* unknownFiles */
        start local 4 // java.lang.String[] unknownFiles
         3: .line 619
            aload 4 /* unknownFiles */
            ifnonnull 5
         4: .line 621
            iconst_0
            anewarray java.lang.String
            areturn
         5: .line 624
      StackMap locals: java.util.List java.io.File java.lang.String[]
      StackMap stack:
            aload 4 /* unknownFiles */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 19
      StackMap locals: java.lang.String java.lang.String[] java.util.List java.io.File java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         6: aload 8
            iload 6
            aaload
            astore 5 /* unknownFile */
        start local 5 // java.lang.String unknownFile
         7: .line 626
            new java.lang.StringBuilder
            dup
            aload 0 /* directory */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "file.separator"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* unknownFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* currentFileName */
        start local 9 // java.lang.String currentFileName
         8: .line 627
            new java.io.File
            dup
            aload 9 /* currentFileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 10 /* currentFile */
        start local 10 // java.io.File currentFile
         9: .line 629
            aload 10 /* currentFile */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 15
        10: .line 632
            aload 10 /* currentFile */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            ldc "CVS"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 634
            goto 18
        12: .line 640
      StackMap locals: java.lang.String java.lang.String[] java.util.List java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String java.io.File
      StackMap stack:
            aload 9 /* currentFileName */
            aload 1 /* extensions */
            invokestatic org.codehaus.plexus.util.FileUtils.getFilesFromExtension:(Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
            astore 11 /* fetchFiles */
        start local 11 // java.lang.String[] fetchFiles
        13: .line 641
            aload 2 /* files */
            aload 11 /* fetchFiles */
            invokestatic org.codehaus.plexus.util.FileUtils.blendFilesToVector:(Ljava/util/List;[Ljava/lang/String;)Ljava/util/List;
            astore 2 /* files */
        end local 11 // java.lang.String[] fetchFiles
        14: .line 642
            goto 18
        15: .line 647
      StackMap locals:
      StackMap stack:
            aload 10 /* currentFile */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            astore 11 /* add */
        start local 11 // java.lang.String add
        16: .line 648
            aload 11 /* add */
            aload 1 /* extensions */
            invokestatic org.codehaus.plexus.util.FileUtils.isValidFile:(Ljava/lang/String;[Ljava/lang/String;)Z
            ifeq 18
        17: .line 650
            aload 2 /* files */
            aload 11 /* add */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // java.lang.String add
        end local 10 // java.io.File currentFile
        end local 9 // java.lang.String currentFileName
        end local 5 // java.lang.String unknownFile
        18: .line 624
      StackMap locals: java.lang.String java.lang.String[] java.util.List java.io.File java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        19: iload 6
            iload 7
            if_icmplt 6
        20: .line 656
            aload 2 /* files */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            astore 5 /* foundFiles */
        start local 5 // java.lang.String[] foundFiles
        21: .line 657
            aload 2 /* files */
            aload 5 /* foundFiles */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        22: .line 659
            aload 5 /* foundFiles */
            areturn
        end local 5 // java.lang.String[] foundFiles
        end local 4 // java.lang.String[] unknownFiles
        end local 3 // java.io.File currentDir
        end local 2 // java.util.List files
        end local 1 // java.lang.String[] extensions
        end local 0 // java.lang.String directory
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   23     0        directory  Ljava/lang/String;
            0   23     1       extensions  [Ljava/lang/String;
            1   23     2            files  Ljava/util/List<Ljava/lang/String;>;
            2   23     3       currentDir  Ljava/io/File;
            3   23     4     unknownFiles  [Ljava/lang/String;
            7   18     5      unknownFile  Ljava/lang/String;
            8   18     9  currentFileName  Ljava/lang/String;
            9   18    10      currentFile  Ljava/io/File;
           13   14    11       fetchFiles  [Ljava/lang/String;
           16   18    11              add  Ljava/lang/String;
           21   23     5       foundFiles  [Ljava/lang/String;
    MethodParameters:
            Name  Flags
      directory   
      extensions  

  private static java.util.List<java.lang.String> blendFilesToVector(java.util.List<java.lang.String>, java.lang.String[]);
    descriptor: (Ljava/util/List;[Ljava/lang/String;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.util.List v
        start local 1 // java.lang.String[] files
         0: .line 667
            aload 1 /* files */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 4
      StackMap locals: java.util.List java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* file */
        start local 2 // java.lang.String file
         2: .line 669
            aload 0 /* v */
            aload 2 /* file */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.lang.String file
         3: .line 667
            iinc 3 1
      StackMap locals:
      StackMap stack:
         4: iload 3
            iload 4
            if_icmplt 1
         5: .line 672
            aload 0 /* v */
            areturn
        end local 1 // java.lang.String[] files
        end local 0 // java.util.List v
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0      v  Ljava/util/List<Ljava/lang/String;>;
            0    6     1  files  [Ljava/lang/String;
            2    3     2   file  Ljava/lang/String;
    Signature: (Ljava/util/List<Ljava/lang/String;>;[Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
       Name  Flags
      v      
      files  

  private static boolean isValidFile(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // java.lang.String file
        start local 1 // java.lang.String[] extensions
         0: .line 681
            aload 0 /* file */
            invokestatic org.codehaus.plexus.util.FileUtils.extension:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* extension */
        start local 2 // java.lang.String extension
         1: .line 682
            aload 2 /* extension */
            ifnonnull 3
         2: .line 684
            ldc ""
            astore 2 /* extension */
         3: .line 690
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* extensions */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 8
      StackMap locals: java.lang.String java.lang.String[] java.lang.String top int int java.lang.String[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* extension1 */
        start local 3 // java.lang.String extension1
         5: .line 692
            aload 3 /* extension1 */
            aload 2 /* extension */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 694
            iconst_1
            ireturn
        end local 3 // java.lang.String extension1
         7: .line 690
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         8: iload 4
            iload 5
            if_icmplt 4
         9: .line 698
            iconst_0
            ireturn
        end local 2 // java.lang.String extension
        end local 1 // java.lang.String[] extensions
        end local 0 // java.lang.String file
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        file  Ljava/lang/String;
            0   10     1  extensions  [Ljava/lang/String;
            1   10     2   extension  Ljava/lang/String;
            5    7     3  extension1  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      file        
      extensions  

  public static void mkdir(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String dir
         0: .line 711
            new java.io.File
            dup
            aload 0 /* dir */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 1 /* file */
        start local 1 // java.io.File file
         1: .line 713
            ldc "windows"
            invokestatic org.codehaus.plexus.util.Os.isFamily:(Ljava/lang/String;)Z
            ifeq 6
            aload 1 /* file */
            invokestatic org.codehaus.plexus.util.FileUtils.isValidWindowsFileName:(Ljava/io/File;)Z
            ifne 6
         2: .line 715
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The file ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* dir */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 716
            ldc ") cannot contain any of the following characters: \n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 717
            getstatic org.codehaus.plexus.util.FileUtils.INVALID_CHARACTERS_FOR_WINDOWS_FILE_NAME:[Ljava/lang/String;
            ldc " "
            invokestatic org.codehaus.plexus.util.StringUtils.join:([Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 715
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 720
      StackMap locals: java.io.File
      StackMap stack:
            aload 1 /* file */
            invokevirtual java.io.File.exists:()Z
            ifne 8
         7: .line 722
            aload 1 /* file */
            invokevirtual java.io.File.mkdirs:()Z
            pop
         8: .line 724
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.File file
        end local 0 // java.lang.String dir
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0   dir  Ljava/lang/String;
            1    9     1  file  Ljava/io/File;
    MethodParameters:
      Name  Flags
      dir   

  public static boolean contentEquals(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // java.io.File file1
        start local 1 // java.io.File file2
         0: .line 737
            aload 0 /* file1 */
            invokevirtual java.io.File.exists:()Z
            istore 2 /* file1Exists */
        start local 2 // boolean file1Exists
         1: .line 738
            iload 2 /* file1Exists */
            aload 1 /* file2 */
            invokevirtual java.io.File.exists:()Z
            if_icmpeq 3
         2: .line 740
            iconst_0
            ireturn
         3: .line 743
      StackMap locals: int
      StackMap stack:
            iload 2 /* file1Exists */
            ifne 5
         4: .line 746
            iconst_1
            ireturn
         5: .line 749
      StackMap locals:
      StackMap stack:
            aload 0 /* file1 */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 6
            aload 1 /* file2 */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 7
         6: .line 752
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         7: .line 755
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* input1 */
        start local 3 // java.io.InputStream input1
         8: .line 756
            aconst_null
            astore 4 /* input2 */
        start local 4 // java.io.InputStream input2
         9: .line 757
            iconst_0
            istore 5 /* equals */
        start local 5 // boolean equals
        10: .line 760
            new java.io.FileInputStream
            dup
            aload 0 /* file1 */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 3 /* input1 */
        11: .line 761
            new java.io.FileInputStream
            dup
            aload 1 /* file2 */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 4 /* input2 */
        12: .line 762
            aload 3 /* input1 */
            aload 4 /* input2 */
            invokestatic org.codehaus.plexus.util.IOUtil.contentEquals:(Ljava/io/InputStream;Ljava/io/InputStream;)Z
            istore 5 /* equals */
        13: .line 763
            aload 3 /* input1 */
            invokevirtual java.io.InputStream.close:()V
        14: .line 764
            aconst_null
            astore 3 /* input1 */
        15: .line 765
            aload 4 /* input2 */
            invokevirtual java.io.InputStream.close:()V
        16: .line 766
            aconst_null
            astore 4 /* input2 */
        17: .line 767
            goto 22
        18: .line 769
      StackMap locals: java.io.File java.io.File int java.io.InputStream java.io.InputStream int
      StackMap stack: java.lang.Throwable
            astore 6
        19: .line 770
            aload 3 /* input1 */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/InputStream;)V
        20: .line 771
            aload 4 /* input2 */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/InputStream;)V
        21: .line 772
            aload 6
            athrow
        22: .line 770
      StackMap locals:
      StackMap stack:
            aload 3 /* input1 */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/InputStream;)V
        23: .line 771
            aload 4 /* input2 */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/InputStream;)V
        24: .line 773
            iload 5 /* equals */
            ireturn
        end local 5 // boolean equals
        end local 4 // java.io.InputStream input2
        end local 3 // java.io.InputStream input1
        end local 2 // boolean file1Exists
        end local 1 // java.io.File file2
        end local 0 // java.io.File file1
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   25     0        file1  Ljava/io/File;
            0   25     1        file2  Ljava/io/File;
            1   25     2  file1Exists  Z
            8   25     3       input1  Ljava/io/InputStream;
            9   25     4       input2  Ljava/io/InputStream;
           10   25     5       equals  Z
      Exception table:
        from    to  target  type
          10    18      18  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      file1  final
      file2  final

  public static java.io.File toFile(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.net.URL url
         0: .line 785
            aload 0 /* url */
            ifnull 1
            aload 0 /* url */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            ldc "file"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 2
         1: .line 787
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 790
      StackMap locals:
      StackMap stack:
            aload 0 /* url */
            invokevirtual java.net.URL.getFile:()Ljava/lang/String;
            bipush 47
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 1 /* filename */
        start local 1 // java.lang.String filename
         3: .line 791
            iconst_m1
            istore 2 /* pos */
        start local 2 // int pos
         4: .line 792
            goto 9
         5: .line 794
      StackMap locals: java.lang.String int
      StackMap stack:
            iload 2 /* pos */
            iconst_2
            iadd
            aload 1 /* filename */
            invokevirtual java.lang.String.length:()I
            if_icmpge 9
         6: .line 796
            aload 1 /* filename */
            iload 2 /* pos */
            iconst_1
            iadd
            iload 2 /* pos */
            iconst_3
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* hexStr */
        start local 3 // java.lang.String hexStr
         7: .line 797
            aload 3 /* hexStr */
            bipush 16
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
            i2c
            istore 4 /* ch */
        start local 4 // char ch
         8: .line 798
            new java.lang.StringBuilder
            dup
            aload 1 /* filename */
            iconst_0
            iload 2 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* filename */
            iload 2 /* pos */
            iconst_3
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* filename */
        end local 4 // char ch
        end local 3 // java.lang.String hexStr
         9: .line 792
      StackMap locals:
      StackMap stack:
            aload 1 /* filename */
            bipush 37
            iload 2 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            dup
            istore 2 /* pos */
            ifge 5
        10: .line 801
            new java.io.File
            dup
            aload 1 /* filename */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            areturn
        end local 2 // int pos
        end local 1 // java.lang.String filename
        end local 0 // java.net.URL url
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0       url  Ljava/net/URL;
            3   11     1  filename  Ljava/lang/String;
            4   11     2       pos  I
            7    9     3    hexStr  Ljava/lang/String;
            8    9     4        ch  C
    MethodParameters:
      Name  Flags
      url   final

  public static java.net.URL[] toURLs(java.io.File[]);
    descriptor: ([Ljava/io/File;)[Ljava/net/URL;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.io.File[] files
         0: .line 814
            aload 0 /* files */
            arraylength
            anewarray java.net.URL
            astore 1 /* urls */
        start local 1 // java.net.URL[] urls
         1: .line 816
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 818
      StackMap locals: java.net.URL[] int
      StackMap stack:
            aload 1 /* urls */
            iload 2 /* i */
            aload 0 /* files */
            iload 2 /* i */
            aaload
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
            aastore
         4: .line 816
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 1 /* urls */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 821
            aload 1 /* urls */
            areturn
        end local 1 // java.net.URL[] urls
        end local 0 // java.io.File[] files
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  files  [Ljava/io/File;
            1    7     1   urls  [Ljava/net/URL;
            2    6     2      i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      files  final

  public static java.lang.String removeExtension(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String filename
         0: .line 838
            aload 0 /* filename */
            invokestatic org.codehaus.plexus.util.FileUtils.extension:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* ext */
        start local 1 // java.lang.String ext
         1: .line 840
            ldc ""
            aload 1 /* ext */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 842
            aload 0 /* filename */
            areturn
         3: .line 845
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* filename */
            aload 1 /* ext */
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            iconst_1
            isub
            istore 2 /* index */
        start local 2 // int index
         4: .line 846
            aload 0 /* filename */
            iconst_0
            iload 2 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 2 // int index
        end local 1 // java.lang.String ext
        end local 0 // java.lang.String filename
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  filename  Ljava/lang/String;
            1    5     1       ext  Ljava/lang/String;
            4    5     2     index  I
    MethodParameters:
          Name  Flags
      filename  final

  public static java.lang.String getExtension(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String filename
         0: .line 863
            aload 0 /* filename */
            invokestatic org.codehaus.plexus.util.FileUtils.extension:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String filename
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  filename  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      filename  final

  public static java.lang.String removePath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String filepath
         0: .line 879
            aload 0 /* filepath */
            getstatic java.io.File.separatorChar:C
            invokestatic org.codehaus.plexus.util.FileUtils.removePath:(Ljava/lang/String;C)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String filepath
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  filepath  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      filepath  final

  public static java.lang.String removePath(java.lang.String, char);
    descriptor: (Ljava/lang/String;C)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String filepath
        start local 1 // char fileSeparatorChar
         0: .line 896
            aload 0 /* filepath */
            iload 1 /* fileSeparatorChar */
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 898
            iconst_m1
            iload 2 /* index */
            if_icmpne 3
         2: .line 900
            aload 0 /* filepath */
            areturn
         3: .line 903
      StackMap locals: int
      StackMap stack:
            aload 0 /* filepath */
            iload 2 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 2 // int index
        end local 1 // char fileSeparatorChar
        end local 0 // java.lang.String filepath
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0           filepath  Ljava/lang/String;
            0    4     1  fileSeparatorChar  C
            1    4     2              index  I
    MethodParameters:
                   Name  Flags
      filepath           final
      fileSeparatorChar  final

  public static java.lang.String getPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String filepath
         0: .line 919
            aload 0 /* filepath */
            getstatic java.io.File.separatorChar:C
            invokestatic org.codehaus.plexus.util.FileUtils.getPath:(Ljava/lang/String;C)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String filepath
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  filepath  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      filepath  final

  public static java.lang.String getPath(java.lang.String, char);
    descriptor: (Ljava/lang/String;C)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String filepath
        start local 1 // char fileSeparatorChar
         0: .line 936
            aload 0 /* filepath */
            iload 1 /* fileSeparatorChar */
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 937
            iconst_m1
            iload 2 /* index */
            if_icmpne 3
         2: .line 939
            ldc ""
            areturn
         3: .line 942
      StackMap locals: int
      StackMap stack:
            aload 0 /* filepath */
            iconst_0
            iload 2 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 2 // int index
        end local 1 // char fileSeparatorChar
        end local 0 // java.lang.String filepath
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0           filepath  Ljava/lang/String;
            0    4     1  fileSeparatorChar  C
            1    4     2              index  I
    MethodParameters:
                   Name  Flags
      filepath           final
      fileSeparatorChar  final

  public static void copyFileToDirectory(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String source
        start local 1 // java.lang.String destinationDirectory
         0: .line 960
            new java.io.File
            dup
            aload 0 /* source */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            new java.io.File
            dup
            aload 1 /* destinationDirectory */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokestatic org.codehaus.plexus.util.FileUtils.copyFileToDirectory:(Ljava/io/File;Ljava/io/File;)V
         1: .line 961
            return
        end local 1 // java.lang.String destinationDirectory
        end local 0 // java.lang.String source
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                source  Ljava/lang/String;
            0    2     1  destinationDirectory  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                      Name  Flags
      source                final
      destinationDirectory  final

  public static void copyFileToDirectoryIfModified(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String source
        start local 1 // java.lang.String destinationDirectory
         0: .line 978
            new java.io.File
            dup
            aload 0 /* source */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            new java.io.File
            dup
            aload 1 /* destinationDirectory */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokestatic org.codehaus.plexus.util.FileUtils.copyFileToDirectoryIfModified:(Ljava/io/File;Ljava/io/File;)V
         1: .line 979
            return
        end local 1 // java.lang.String destinationDirectory
        end local 0 // java.lang.String source
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                source  Ljava/lang/String;
            0    2     1  destinationDirectory  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                      Name  Flags
      source                final
      destinationDirectory  final

  public static void copyFileToDirectory(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.io.File source
        start local 1 // java.io.File destinationDirectory
         0: .line 996
            aload 1 /* destinationDirectory */
            invokevirtual java.io.File.exists:()Z
            ifeq 2
            aload 1 /* destinationDirectory */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 2
         1: .line 998
            new java.lang.IllegalArgumentException
            dup
            ldc "Destination is not a directory"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1001
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            new java.io.File
            dup
            aload 1 /* destinationDirectory */
            aload 0 /* source */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokestatic org.codehaus.plexus.util.FileUtils.copyFile:(Ljava/io/File;Ljava/io/File;)V
         3: .line 1002
            return
        end local 1 // java.io.File destinationDirectory
        end local 0 // java.io.File source
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0                source  Ljava/io/File;
            0    4     1  destinationDirectory  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                      Name  Flags
      source                final
      destinationDirectory  final

  public static void copyFileToDirectoryIfModified(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.io.File source
        start local 1 // java.io.File destinationDirectory
         0: .line 1019
            aload 1 /* destinationDirectory */
            invokevirtual java.io.File.exists:()Z
            ifeq 2
            aload 1 /* destinationDirectory */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 2
         1: .line 1021
            new java.lang.IllegalArgumentException
            dup
            ldc "Destination is not a directory"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1024
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            new java.io.File
            dup
            aload 1 /* destinationDirectory */
            aload 0 /* source */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokestatic org.codehaus.plexus.util.FileUtils.copyFileIfModified:(Ljava/io/File;Ljava/io/File;)Z
            pop
         3: .line 1025
            return
        end local 1 // java.io.File destinationDirectory
        end local 0 // java.io.File source
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0                source  Ljava/io/File;
            0    4     1  destinationDirectory  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                      Name  Flags
      source                final
      destinationDirectory  final

  public static void mkDirs(java.io.File, java.lang.String[], java.io.File);
    descriptor: (Ljava/io/File;[Ljava/lang/String;Ljava/io/File;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // java.io.File sourceBase
        start local 1 // java.lang.String[] dirs
        start local 2 // java.io.File destination
         0: .line 1037
            aload 1 /* dirs */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 10
      StackMap locals: java.io.File java.lang.String[] java.io.File top int int java.lang.String[]
      StackMap stack:
         1: aload 6
            iload 4
            aaload
            astore 3 /* dir */
        start local 3 // java.lang.String dir
         2: .line 1039
            new java.io.File
            dup
            aload 0 /* sourceBase */
            aload 3 /* dir */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 7 /* src */
        start local 7 // java.io.File src
         3: .line 1040
            new java.io.File
            dup
            aload 2 /* destination */
            aload 3 /* dir */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 8 /* dst */
        start local 8 // java.io.File dst
         4: .line 1041
            invokestatic org.codehaus.plexus.util.Java7Detector.isJava7:()Z
            ifeq 8
            aload 7 /* src */
            invokestatic org.codehaus.plexus.util.NioFiles.isSymbolicLink:(Ljava/io/File;)Z
            ifeq 8
         5: .line 1043
            aload 7 /* src */
            invokestatic org.codehaus.plexus.util.NioFiles.readSymbolicLink:(Ljava/io/File;)Ljava/io/File;
            astore 9 /* target */
        start local 9 // java.io.File target
         6: .line 1044
            aload 8 /* dst */
            aload 9 /* target */
            invokestatic org.codehaus.plexus.util.NioFiles.createSymbolicLink:(Ljava/io/File;Ljava/io/File;)Ljava/io/File;
            pop
        end local 9 // java.io.File target
         7: .line 1045
            goto 9
         8: .line 1048
      StackMap locals: java.io.File java.lang.String[] java.io.File java.lang.String int int java.lang.String[] java.io.File java.io.File
      StackMap stack:
            aload 8 /* dst */
            invokevirtual java.io.File.mkdirs:()Z
            pop
        end local 8 // java.io.File dst
        end local 7 // java.io.File src
        end local 3 // java.lang.String dir
         9: .line 1037
      StackMap locals: java.io.File java.lang.String[] java.io.File top int int java.lang.String[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        10: iload 4
            iload 5
            if_icmplt 1
        11: .line 1051
            return
        end local 2 // java.io.File destination
        end local 1 // java.lang.String[] dirs
        end local 0 // java.io.File sourceBase
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0   sourceBase  Ljava/io/File;
            0   12     1         dirs  [Ljava/lang/String;
            0   12     2  destination  Ljava/io/File;
            2    9     3          dir  Ljava/lang/String;
            3    9     7          src  Ljava/io/File;
            4    9     8          dst  Ljava/io/File;
            6    7     9       target  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      sourceBase   final
      dirs         
      destination  final

  public static void copyFile(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.io.File source
        start local 1 // java.io.File destination
         0: .line 1068
            aload 0 /* source */
            invokevirtual java.io.File.exists:()Z
            ifne 3
         1: .line 1070
            new java.lang.StringBuilder
            dup
            ldc "File "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* source */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " does not exist"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* message */
        start local 2 // java.lang.String message
         2: .line 1071
            new java.io.IOException
            dup
            aload 2 /* message */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String message
         3: .line 1075
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            aload 1 /* destination */
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 1078
            return
         5: .line 1080
      StackMap locals:
      StackMap stack:
            aload 1 /* destination */
            invokestatic org.codehaus.plexus.util.FileUtils.mkdirsFor:(Ljava/io/File;)V
         6: .line 1082
            aload 0 /* source */
            aload 1 /* destination */
            invokestatic org.codehaus.plexus.util.FileUtils.doCopyFile:(Ljava/io/File;Ljava/io/File;)V
         7: .line 1084
            aload 0 /* source */
            invokevirtual java.io.File.length:()J
            aload 1 /* destination */
            invokevirtual java.io.File.length:()J
            lcmp
            ifeq 10
         8: .line 1086
            new java.lang.StringBuilder
            dup
            ldc "Failed to copy full contents from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* source */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* destination */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* message */
        start local 2 // java.lang.String message
         9: .line 1087
            new java.io.IOException
            dup
            aload 2 /* message */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String message
        10: .line 1089
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.File destination
        end local 0 // java.io.File source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0       source  Ljava/io/File;
            0   11     1  destination  Ljava/io/File;
            2    3     2      message  Ljava/lang/String;
            9   10     2      message  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      source       final
      destination  final

  private static void doCopyFile(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.io.File source
        start local 1 // java.io.File destination
         0: .line 1095
            invokestatic org.codehaus.plexus.util.Java7Detector.isJava7:()Z
            ifeq 3
         1: .line 1097
            aload 0 /* source */
            aload 1 /* destination */
            invokestatic org.codehaus.plexus.util.FileUtils.doCopyFileUsingNewIO:(Ljava/io/File;Ljava/io/File;)V
         2: .line 1098
            goto 4
         3: .line 1101
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            aload 1 /* destination */
            invokestatic org.codehaus.plexus.util.FileUtils.doCopyFileUsingLegacyIO:(Ljava/io/File;Ljava/io/File;)V
         4: .line 1103
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.File destination
        end local 0 // java.io.File source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0       source  Ljava/io/File;
            0    5     1  destination  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      source       
      destination  

  private static void doCopyFileUsingLegacyIO(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=13, args_size=2
        start local 0 // java.io.File source
        start local 1 // java.io.File destination
         0: .line 1108
            aconst_null
            astore 2 /* fis */
        start local 2 // java.io.FileInputStream fis
         1: .line 1109
            aconst_null
            astore 3 /* fos */
        start local 3 // java.io.FileOutputStream fos
         2: .line 1110
            aconst_null
            astore 4 /* input */
        start local 4 // java.nio.channels.FileChannel input
         3: .line 1111
            aconst_null
            astore 5 /* output */
        start local 5 // java.nio.channels.FileChannel output
         4: .line 1114
            new java.io.FileInputStream
            dup
            aload 0 /* source */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 2 /* fis */
         5: .line 1115
            new java.io.FileOutputStream
            dup
            aload 1 /* destination */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 3 /* fos */
         6: .line 1116
            aload 2 /* fis */
            invokevirtual java.io.FileInputStream.getChannel:()Ljava/nio/channels/FileChannel;
            astore 4 /* input */
         7: .line 1117
            aload 3 /* fos */
            invokevirtual java.io.FileOutputStream.getChannel:()Ljava/nio/channels/FileChannel;
            astore 5 /* output */
         8: .line 1118
            aload 4 /* input */
            invokevirtual java.nio.channels.FileChannel.size:()J
            lstore 6 /* size */
        start local 6 // long size
         9: .line 1119
            lconst_0
            lstore 8 /* pos */
        start local 8 // long pos
        10: .line 1120
            lconst_0
            lstore 10 /* count */
        start local 10 // long count
        11: .line 1121
            goto 16
        12: .line 1123
      StackMap locals: java.io.File java.io.File java.io.FileInputStream java.io.FileOutputStream java.nio.channels.FileChannel java.nio.channels.FileChannel long long long
      StackMap stack:
            lload 6 /* size */
            lload 8 /* pos */
            lsub
            ldc 31457280
            lcmp
            ifle 13
            ldc 31457280
            goto 14
      StackMap locals:
      StackMap stack:
        13: lload 6 /* size */
            lload 8 /* pos */
            lsub
      StackMap locals:
      StackMap stack: long
        14: lstore 10 /* count */
        15: .line 1124
            lload 8 /* pos */
            aload 5 /* output */
            aload 4 /* input */
            lload 8 /* pos */
            lload 10 /* count */
            invokevirtual java.nio.channels.FileChannel.transferFrom:(Ljava/nio/channels/ReadableByteChannel;JJ)J
            ladd
            lstore 8 /* pos */
        16: .line 1121
      StackMap locals:
      StackMap stack:
            lload 8 /* pos */
            lload 6 /* size */
            lcmp
            iflt 12
        17: .line 1126
            aload 5 /* output */
            invokevirtual java.nio.channels.FileChannel.close:()V
        18: .line 1127
            aconst_null
            astore 5 /* output */
        19: .line 1128
            aload 3 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
        20: .line 1129
            aconst_null
            astore 3 /* fos */
        21: .line 1130
            aload 4 /* input */
            invokevirtual java.nio.channels.FileChannel.close:()V
        22: .line 1131
            aconst_null
            astore 4 /* input */
        23: .line 1132
            aload 2 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        24: .line 1133
            aconst_null
            astore 2 /* fis */
        end local 10 // long count
        end local 8 // long pos
        end local 6 // long size
        25: .line 1134
            goto 32
        26: .line 1136
      StackMap locals: java.io.File java.io.File java.io.FileInputStream java.io.FileOutputStream java.nio.channels.FileChannel java.nio.channels.FileChannel
      StackMap stack: java.lang.Throwable
            astore 12
        27: .line 1137
            aload 5 /* output */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/nio/channels/Channel;)V
        28: .line 1138
            aload 3 /* fos */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/OutputStream;)V
        29: .line 1139
            aload 4 /* input */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/nio/channels/Channel;)V
        30: .line 1140
            aload 2 /* fis */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/InputStream;)V
        31: .line 1141
            aload 12
            athrow
        32: .line 1137
      StackMap locals:
      StackMap stack:
            aload 5 /* output */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/nio/channels/Channel;)V
        33: .line 1138
            aload 3 /* fos */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/OutputStream;)V
        34: .line 1139
            aload 4 /* input */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/nio/channels/Channel;)V
        35: .line 1140
            aload 2 /* fis */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/InputStream;)V
        36: .line 1142
            return
        end local 5 // java.nio.channels.FileChannel output
        end local 4 // java.nio.channels.FileChannel input
        end local 3 // java.io.FileOutputStream fos
        end local 2 // java.io.FileInputStream fis
        end local 1 // java.io.File destination
        end local 0 // java.io.File source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   37     0       source  Ljava/io/File;
            0   37     1  destination  Ljava/io/File;
            1   37     2          fis  Ljava/io/FileInputStream;
            2   37     3          fos  Ljava/io/FileOutputStream;
            3   37     4        input  Ljava/nio/channels/FileChannel;
            4   37     5       output  Ljava/nio/channels/FileChannel;
            9   25     6         size  J
           10   25     8          pos  J
           11   25    10        count  J
      Exception table:
        from    to  target  type
           4    26      26  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      source       
      destination  

  private static void doCopyFileUsingNewIO(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.io.File source
        start local 1 // java.io.File destination
         0: .line 1147
            aload 0 /* source */
            aload 1 /* destination */
            invokestatic org.codehaus.plexus.util.NioFiles.copy:(Ljava/io/File;Ljava/io/File;)Ljava/io/File;
            pop
         1: .line 1148
            return
        end local 1 // java.io.File destination
        end local 0 // java.io.File source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0       source  Ljava/io/File;
            0    2     1  destination  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      source       
      destination  

  public static boolean copyFileIfModified(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.io.File source
        start local 1 // java.io.File destination
         0: .line 1164
            aload 0 /* source */
            aload 1 /* destination */
            invokestatic org.codehaus.plexus.util.FileUtils.isSourceNewerThanDestination:(Ljava/io/File;Ljava/io/File;)Z
            ifeq 3
         1: .line 1166
            aload 0 /* source */
            aload 1 /* destination */
            invokestatic org.codehaus.plexus.util.FileUtils.copyFile:(Ljava/io/File;Ljava/io/File;)V
         2: .line 1168
            iconst_1
            ireturn
         3: .line 1171
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.io.File destination
        end local 0 // java.io.File source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0       source  Ljava/io/File;
            0    4     1  destination  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      source       final
      destination  final

  public static void copyURLToFile(java.net.URL, java.io.File);
    descriptor: (Ljava/net/URL;Ljava/io/File;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.net.URL source
        start local 1 // java.io.File destination
         0: .line 1191
            new org.codehaus.plexus.util.io.URLInputStreamFacade
            dup
            aload 0 /* source */
            invokespecial org.codehaus.plexus.util.io.URLInputStreamFacade.<init>:(Ljava/net/URL;)V
            aload 1 /* destination */
            invokestatic org.codehaus.plexus.util.FileUtils.copyStreamToFile:(Lorg/codehaus/plexus/util/io/InputStreamFacade;Ljava/io/File;)V
         1: .line 1192
            return
        end local 1 // java.io.File destination
        end local 0 // java.net.URL source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0       source  Ljava/net/URL;
            0    2     1  destination  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      source       final
      destination  final

  public static void copyStreamToFile(org.codehaus.plexus.util.io.InputStreamFacade, java.io.File);
    descriptor: (Lorg/codehaus/plexus/util/io/InputStreamFacade;Ljava/io/File;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.codehaus.plexus.util.io.InputStreamFacade source
        start local 1 // java.io.File destination
         0: .line 1211
            aload 1 /* destination */
            invokestatic org.codehaus.plexus.util.FileUtils.mkdirsFor:(Ljava/io/File;)V
         1: .line 1212
            aload 1 /* destination */
            invokestatic org.codehaus.plexus.util.FileUtils.checkCanWrite:(Ljava/io/File;)V
         2: .line 1214
            aconst_null
            astore 2 /* input */
        start local 2 // java.io.InputStream input
         3: .line 1215
            aconst_null
            astore 3 /* output */
        start local 3 // java.io.FileOutputStream output
         4: .line 1218
            aload 0 /* source */
            invokeinterface org.codehaus.plexus.util.io.InputStreamFacade.getInputStream:()Ljava/io/InputStream;
            astore 2 /* input */
         5: .line 1219
            new java.io.FileOutputStream
            dup
            aload 1 /* destination */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 3 /* output */
         6: .line 1220
            aload 2 /* input */
            aload 3 /* output */
            invokestatic org.codehaus.plexus.util.IOUtil.copy:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
         7: .line 1221
            aload 3 /* output */
            invokevirtual java.io.FileOutputStream.close:()V
         8: .line 1222
            aconst_null
            astore 3 /* output */
         9: .line 1223
            aload 2 /* input */
            invokevirtual java.io.InputStream.close:()V
        10: .line 1224
            aconst_null
            astore 2 /* input */
        11: .line 1225
            goto 16
        12: .line 1227
      StackMap locals: org.codehaus.plexus.util.io.InputStreamFacade java.io.File java.io.InputStream java.io.FileOutputStream
      StackMap stack: java.lang.Throwable
            astore 4
        13: .line 1228
            aload 2 /* input */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/InputStream;)V
        14: .line 1229
            aload 3 /* output */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/OutputStream;)V
        15: .line 1230
            aload 4
            athrow
        16: .line 1228
      StackMap locals:
      StackMap stack:
            aload 2 /* input */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/InputStream;)V
        17: .line 1229
            aload 3 /* output */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/OutputStream;)V
        18: .line 1231
            return
        end local 3 // java.io.FileOutputStream output
        end local 2 // java.io.InputStream input
        end local 1 // java.io.File destination
        end local 0 // org.codehaus.plexus.util.io.InputStreamFacade source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0       source  Lorg/codehaus/plexus/util/io/InputStreamFacade;
            0   19     1  destination  Ljava/io/File;
            3   19     2        input  Ljava/io/InputStream;
            4   19     3       output  Ljava/io/FileOutputStream;
      Exception table:
        from    to  target  type
           4    12      12  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      source       final
      destination  final

  private static void checkCanWrite(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.File destination
         0: .line 1237
            aload 0 /* destination */
            invokevirtual java.io.File.exists:()Z
            ifeq 3
            aload 0 /* destination */
            invokevirtual java.io.File.canWrite:()Z
            ifne 3
         1: .line 1239
            new java.lang.StringBuilder
            dup
            ldc "Unable to open file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* destination */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " for writing."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* message */
        start local 1 // java.lang.String message
         2: .line 1240
            new java.io.IOException
            dup
            aload 1 /* message */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String message
         3: .line 1242
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.File destination
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0  destination  Ljava/io/File;
            2    3     1      message  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      destination  

  private static void mkdirsFor(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.io.File destination
         0: .line 1247
            aload 0 /* destination */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 1 /* parentFile */
        start local 1 // java.io.File parentFile
         1: .line 1248
            aload 1 /* parentFile */
            ifnull 3
            aload 1 /* parentFile */
            invokevirtual java.io.File.exists:()Z
            ifne 3
         2: .line 1250
            aload 1 /* parentFile */
            invokevirtual java.io.File.mkdirs:()Z
            pop
         3: .line 1252
      StackMap locals: java.io.File
      StackMap stack:
            return
        end local 1 // java.io.File parentFile
        end local 0 // java.io.File destination
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0  destination  Ljava/io/File;
            1    4     1   parentFile  Ljava/io/File;
    MethodParameters:
             Name  Flags
      destination  

  public static java.lang.String normalize(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.lang.String path
         0: .line 1273
            aload 0 /* path */
            astore 1 /* normalized */
        start local 1 // java.lang.String normalized
         1: .line 1277
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* normalized */
            ldc "//"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 2 /* index */
        start local 2 // int index
         2: .line 1278
            iload 2 /* index */
            ifge 4
         3: .line 1280
            goto 6
         4: .line 1282
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* normalized */
            iconst_0
            iload 2 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* normalized */
            iload 2 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* normalized */
        end local 2 // int index
         5: .line 1275
            goto 1
         6: .line 1288
      StackMap locals:
      StackMap stack:
            aload 1 /* normalized */
            ldc "/./"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 2 /* index */
        start local 2 // int index
         7: .line 1289
            iload 2 /* index */
            ifge 9
         8: .line 1291
            goto 11
         9: .line 1293
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* normalized */
            iconst_0
            iload 2 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* normalized */
            iload 2 /* index */
            iconst_2
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* normalized */
        end local 2 // int index
        10: .line 1286
            goto 6
        11: .line 1299
      StackMap locals:
      StackMap stack:
            aload 1 /* normalized */
            ldc "/../"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 2 /* index */
        start local 2 // int index
        12: .line 1300
            iload 2 /* index */
            ifge 14
        13: .line 1302
            goto 19
        14: .line 1304
      StackMap locals: int
      StackMap stack:
            iload 2 /* index */
            ifne 16
        15: .line 1306
            aconst_null
            areturn
        16: .line 1308
      StackMap locals:
      StackMap stack:
            aload 1 /* normalized */
            bipush 47
            iload 2 /* index */
            iconst_1
            isub
            invokevirtual java.lang.String.lastIndexOf:(II)I
            istore 3 /* index2 */
        start local 3 // int index2
        17: .line 1309
            new java.lang.StringBuilder
            dup
            aload 1 /* normalized */
            iconst_0
            iload 3 /* index2 */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* normalized */
            iload 2 /* index */
            iconst_3
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* normalized */
        end local 3 // int index2
        end local 2 // int index
        18: .line 1297
            goto 11
        19: .line 1313
      StackMap locals:
      StackMap stack:
            aload 1 /* normalized */
            areturn
        end local 1 // java.lang.String normalized
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        path  Ljava/lang/String;
            1   20     1  normalized  Ljava/lang/String;
            2    5     2       index  I
            7   10     2       index  I
           12   18     2       index  I
           17   18     3      index2  I
    MethodParameters:
      Name  Flags
      path  final

  public static java.lang.String catPath(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.lang.String lookupPath
        start local 1 // java.lang.String path
         0: .line 1334
            aload 0 /* lookupPath */
            ldc "/"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 1335
            aload 0 /* lookupPath */
            iconst_0
            iload 2 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* lookup */
        start local 3 // java.lang.String lookup
         2: .line 1336
            aload 1 /* path */
            astore 4 /* pth */
        start local 4 // java.lang.String pth
         3: .line 1339
            goto 11
         4: .line 1341
      StackMap locals: int java.lang.String java.lang.String
      StackMap stack:
            aload 3 /* lookup */
            invokevirtual java.lang.String.length:()I
            ifle 8
         5: .line 1343
            aload 3 /* lookup */
            ldc "/"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 2 /* index */
         6: .line 1344
            aload 3 /* lookup */
            iconst_0
            iload 2 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* lookup */
         7: .line 1345
            goto 9
         8: .line 1349
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         9: .line 1352
      StackMap locals:
      StackMap stack:
            aload 4 /* pth */
            ldc "../"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_3
            iadd
            istore 2 /* index */
        10: .line 1353
            aload 4 /* pth */
            iload 2 /* index */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* pth */
        11: .line 1339
      StackMap locals:
      StackMap stack:
            aload 4 /* pth */
            ldc "../"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 4
        12: .line 1356
            new java.lang.StringBuffer
            dup
            aload 3 /* lookup */
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 4 /* pth */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.String pth
        end local 3 // java.lang.String lookup
        end local 2 // int index
        end local 1 // java.lang.String path
        end local 0 // java.lang.String lookupPath
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0  lookupPath  Ljava/lang/String;
            0   13     1        path  Ljava/lang/String;
            1   13     2       index  I
            2   13     3      lookup  Ljava/lang/String;
            3   13     4         pth  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      lookupPath  final
      path        final

  public static java.io.File resolveFile(java.io.File, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // java.io.File baseFile
        start local 1 // java.lang.String filename
         0: .line 1370
            aload 1 /* filename */
            astore 2 /* filenm */
        start local 2 // java.lang.String filenm
         1: .line 1371
            bipush 47
            getstatic java.io.File.separatorChar:C
            if_icmpeq 3
         2: .line 1373
            aload 1 /* filename */
            bipush 47
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 2 /* filenm */
         3: .line 1376
      StackMap locals: java.lang.String
      StackMap stack:
            bipush 92
            getstatic java.io.File.separatorChar:C
            if_icmpeq 5
         4: .line 1378
            aload 1 /* filename */
            bipush 92
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 2 /* filenm */
         5: .line 1382
      StackMap locals:
      StackMap stack:
            aload 2 /* filenm */
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 6
            ldc "windows"
            invokestatic org.codehaus.plexus.util.Os.isFamily:(Ljava/lang/String;)Z
            ifeq 11
            aload 2 /* filenm */
            ldc ":"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            ifle 11
         6: .line 1384
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 2 /* filenm */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 3 /* file */
        start local 3 // java.io.File file
         7: .line 1388
            aload 3 /* file */
            invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
            astore 3 /* file */
         8: .line 1389
            goto 10
         9: .line 1390
      StackMap locals: java.io.File java.lang.String java.lang.String java.io.File
      StackMap stack: java.io.IOException
            pop
        10: .line 1395
      StackMap locals:
      StackMap stack:
            aload 3 /* file */
            areturn
        end local 3 // java.io.File file
        11: .line 1399
      StackMap locals:
      StackMap stack:
            aload 1 /* filename */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 3 /* chars */
        start local 3 // char[] chars
        12: .line 1400
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuilder sb
        13: .line 1405
            iconst_0
            istore 5 /* start */
        start local 5 // int start
        14: .line 1406
            bipush 92
            getstatic java.io.File.separatorChar:C
            if_icmpne 17
        15: .line 1408
            aload 4 /* sb */
            aload 2 /* filenm */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        16: .line 1409
            iinc 5 /* start */ 1
        17: .line 1412
      StackMap locals: char[] java.lang.StringBuilder int
      StackMap stack:
            iload 5 /* start */
            istore 6 /* i */
        start local 6 // int i
        18: goto 25
        19: .line 1414
      StackMap locals: int
      StackMap stack:
            getstatic java.io.File.separatorChar:C
            aload 3 /* chars */
            iload 6 /* i */
            caload
            if_icmpne 20
            getstatic java.io.File.separatorChar:C
            aload 3 /* chars */
            iload 6 /* i */
            iconst_1
            isub
            caload
            if_icmpne 20
            iconst_1
            goto 21
      StackMap locals:
      StackMap stack:
        20: iconst_0
      StackMap locals:
      StackMap stack: int
        21: istore 7 /* doubleSeparator */
        start local 7 // boolean doubleSeparator
        22: .line 1416
            iload 7 /* doubleSeparator */
            ifne 24
        23: .line 1418
            aload 4 /* sb */
            aload 3 /* chars */
            iload 6 /* i */
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 7 // boolean doubleSeparator
        24: .line 1412
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 6 /* i */
            aload 3 /* chars */
            arraylength
            if_icmplt 19
        end local 6 // int i
        26: .line 1422
            aload 4 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* filenm */
        27: .line 1425
            new java.io.File
            dup
            aload 0 /* baseFile */
            aload 2 /* filenm */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
            astore 6 /* file */
        start local 6 // java.io.File file
        28: .line 1429
            aload 6 /* file */
            invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
            astore 6 /* file */
        29: .line 1430
            goto 31
        30: .line 1431
      StackMap locals: java.io.File java.lang.String java.lang.String char[] java.lang.StringBuilder int java.io.File
      StackMap stack: java.io.IOException
            pop
        31: .line 1436
      StackMap locals:
      StackMap stack:
            aload 6 /* file */
            areturn
        end local 6 // java.io.File file
        end local 5 // int start
        end local 4 // java.lang.StringBuilder sb
        end local 3 // char[] chars
        end local 2 // java.lang.String filenm
        end local 1 // java.lang.String filename
        end local 0 // java.io.File baseFile
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   32     0         baseFile  Ljava/io/File;
            0   32     1         filename  Ljava/lang/String;
            1   32     2           filenm  Ljava/lang/String;
            7   11     3             file  Ljava/io/File;
           12   32     3            chars  [C
           13   32     4               sb  Ljava/lang/StringBuilder;
           14   32     5            start  I
           18   26     6                i  I
           22   24     7  doubleSeparator  Z
           28   32     6             file  Ljava/io/File;
      Exception table:
        from    to  target  type
           7     8       9  Class java.io.IOException
          28    29      30  Class java.io.IOException
    MethodParameters:
          Name  Flags
      baseFile  final
      filename  

  public static void forceDelete(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String file
         0: .line 1448
            new java.io.File
            dup
            aload 0 /* file */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokestatic org.codehaus.plexus.util.FileUtils.forceDelete:(Ljava/io/File;)V
         1: .line 1449
            return
        end local 0 // java.lang.String file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  file  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  final

  public static void forceDelete(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.io.File file
         0: .line 1460
            aload 0 /* file */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 3
         1: .line 1462
            aload 0 /* file */
            invokestatic org.codehaus.plexus.util.FileUtils.deleteDirectory:(Ljava/io/File;)V
         2: .line 1463
            goto 7
         3: .line 1470
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            istore 1 /* filePresent */
        start local 1 // boolean filePresent
         4: .line 1471
            aload 0 /* file */
            invokestatic org.codehaus.plexus.util.FileUtils.deleteFile:(Ljava/io/File;)Z
            ifne 7
            iload 1 /* filePresent */
            ifeq 7
         5: .line 1473
            new java.lang.StringBuilder
            dup
            ldc "File "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* file */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " unable to be deleted."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* message */
        start local 2 // java.lang.String message
         6: .line 1474
            new java.io.IOException
            dup
            aload 2 /* message */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String message
        end local 1 // boolean filePresent
         7: .line 1477
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         file  Ljava/io/File;
            4    7     1  filePresent  Z
            6    7     2      message  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  final

  private static boolean deleteFile(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 1489
            aload 0 /* file */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 2
         1: .line 1491
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "File "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* file */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " isn't a file."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1494
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            invokevirtual java.io.File.delete:()Z
            ifne 11
         3: .line 1496
            ldc "windows"
            invokestatic org.codehaus.plexus.util.Os.isFamily:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 1498
            aload 0 /* file */
            invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
            astore 0 /* file */
         5: .line 1499
            invokestatic java.lang.System.gc:()V
         6: .line 1504
      StackMap locals:
      StackMap stack:
            ldc 10
            invokestatic java.lang.Thread.sleep:(J)V
         7: .line 1505
            aload 0 /* file */
            invokevirtual java.io.File.delete:()Z
         8: ireturn
         9: .line 1507
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
            pop
        10: .line 1509
            aload 0 /* file */
            invokevirtual java.io.File.delete:()Z
            ireturn
        11: .line 1513
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  file  Ljava/io/File;
      Exception table:
        from    to  target  type
           6     8       9  Class java.lang.InterruptedException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  public static void forceDeleteOnExit(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 1525
            aload 0 /* file */
            invokevirtual java.io.File.exists:()Z
            ifne 2
         1: .line 1527
            return
         2: .line 1530
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 5
         3: .line 1532
            aload 0 /* file */
            invokestatic org.codehaus.plexus.util.FileUtils.deleteDirectoryOnExit:(Ljava/io/File;)V
         4: .line 1533
            goto 6
         5: .line 1536
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            invokevirtual java.io.File.deleteOnExit:()V
         6: .line 1538
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  file  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  final

  private static void deleteDirectoryOnExit(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.File directory
         0: .line 1549
            aload 0 /* directory */
            invokevirtual java.io.File.exists:()Z
            ifne 2
         1: .line 1551
            return
         2: .line 1553
      StackMap locals:
      StackMap stack:
            aload 0 /* directory */
            invokevirtual java.io.File.deleteOnExit:()V
         3: .line 1555
            aload 0 /* directory */
            invokestatic org.codehaus.plexus.util.FileUtils.cleanDirectoryOnExit:(Ljava/io/File;)V
         4: .line 1556
            return
        end local 0 // java.io.File directory
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  directory  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      directory  final

  private static void cleanDirectoryOnExit(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // java.io.File directory
         0: .line 1567
            aload 0 /* directory */
            invokevirtual java.io.File.exists:()Z
            ifne 3
         1: .line 1569
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* directory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " does not exist"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* message */
        start local 1 // java.lang.String message
         2: .line 1570
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* message */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String message
         3: .line 1573
      StackMap locals:
      StackMap stack:
            aload 0 /* directory */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 6
         4: .line 1575
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* directory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is not a directory"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* message */
        start local 1 // java.lang.String message
         5: .line 1576
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* message */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String message
         6: .line 1579
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* exception */
        start local 1 // java.io.IOException exception
         7: .line 1581
            aload 0 /* directory */
            invokevirtual java.io.File.listFiles:()[Ljava/io/File;
            astore 2 /* files */
        start local 2 // java.io.File[] files
         8: .line 1582
            aload 2 /* files */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 15
      StackMap locals: java.io.File java.io.IOException java.io.File[] top int int java.io.File[]
      StackMap stack:
         9: aload 6
            iload 4
            aaload
            astore 3 /* file */
        start local 3 // java.io.File file
        10: .line 1586
            aload 3 /* file */
            invokestatic org.codehaus.plexus.util.FileUtils.forceDeleteOnExit:(Ljava/io/File;)V
        11: .line 1587
            goto 14
        12: .line 1588
      StackMap locals: java.io.File java.io.IOException java.io.File[] java.io.File int int java.io.File[]
      StackMap stack: java.io.IOException
            astore 7 /* ioe */
        start local 7 // java.io.IOException ioe
        13: .line 1590
            aload 7 /* ioe */
            astore 1 /* exception */
        end local 7 // java.io.IOException ioe
        end local 3 // java.io.File file
        14: .line 1582
      StackMap locals: java.io.File java.io.IOException java.io.File[] top int int java.io.File[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        15: iload 4
            iload 5
            if_icmplt 9
        16: .line 1594
            aload 1 /* exception */
            ifnull 18
        17: .line 1596
            aload 1 /* exception */
            athrow
        18: .line 1598
      StackMap locals: java.io.File java.io.IOException java.io.File[]
      StackMap stack:
            return
        end local 2 // java.io.File[] files
        end local 1 // java.io.IOException exception
        end local 0 // java.io.File directory
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0  directory  Ljava/io/File;
            2    3     1    message  Ljava/lang/String;
            5    6     1    message  Ljava/lang/String;
            7   19     1  exception  Ljava/io/IOException;
            8   19     2      files  [Ljava/io/File;
           10   14     3       file  Ljava/io/File;
           13   14     7        ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          10    11      12  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      directory  final

  public static void forceMkdir(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.io.File file
         0: .line 1611
            ldc "windows"
            invokestatic org.codehaus.plexus.util.Os.isFamily:(Ljava/lang/String;)Z
            ifeq 6
         1: .line 1613
            aload 0 /* file */
            invokestatic org.codehaus.plexus.util.FileUtils.isValidWindowsFileName:(Ljava/io/File;)Z
            ifne 6
         2: .line 1615
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The file ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* file */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 1616
            ldc ") cannot contain any of the following characters: \n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 1617
            getstatic org.codehaus.plexus.util.FileUtils.INVALID_CHARACTERS_FOR_WINDOWS_FILE_NAME:[Ljava/lang/String;
            ldc " "
            invokestatic org.codehaus.plexus.util.StringUtils.join:([Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 1615
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1621
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 11
         7: .line 1623
            aload 0 /* file */
            invokevirtual java.io.File.isFile:()Z
            ifeq 14
         8: .line 1626
            new java.lang.StringBuilder
            dup
            ldc "File "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* file */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " exists and is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "not a directory. Unable to create directory."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 1625
            astore 1 /* message */
        start local 1 // java.lang.String message
        10: .line 1627
            new java.io.IOException
            dup
            aload 1 /* message */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String message
        11: .line 1632
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            invokevirtual java.io.File.mkdirs:()Z
            ifne 14
        12: .line 1634
            new java.lang.StringBuilder
            dup
            ldc "Unable to create directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* file */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* message */
        start local 1 // java.lang.String message
        13: .line 1635
            new java.io.IOException
            dup
            aload 1 /* message */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String message
        14: .line 1638
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     file  Ljava/io/File;
           10   11     1  message  Ljava/lang/String;
           13   14     1  message  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  final

  public static void deleteDirectory(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String directory
         0: .line 1649
            new java.io.File
            dup
            aload 0 /* directory */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokestatic org.codehaus.plexus.util.FileUtils.deleteDirectory:(Ljava/io/File;)V
         1: .line 1650
            return
        end local 0 // java.lang.String directory
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  directory  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      directory  final

  public static void deleteDirectory(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.File directory
         0: .line 1661
            aload 0 /* directory */
            invokevirtual java.io.File.exists:()Z
            ifne 2
         1: .line 1663
            return
         2: .line 1670
      StackMap locals:
      StackMap stack:
            aload 0 /* directory */
            invokevirtual java.io.File.delete:()Z
            ifeq 4
         3: .line 1672
            return
         4: .line 1675
      StackMap locals:
      StackMap stack:
            aload 0 /* directory */
            invokestatic org.codehaus.plexus.util.FileUtils.cleanDirectory:(Ljava/io/File;)V
         5: .line 1676
            aload 0 /* directory */
            invokevirtual java.io.File.delete:()Z
            ifne 8
         6: .line 1678
            new java.lang.StringBuilder
            dup
            ldc "Directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* directory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " unable to be deleted."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* message */
        start local 1 // java.lang.String message
         7: .line 1679
            new java.io.IOException
            dup
            aload 1 /* message */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String message
         8: .line 1681
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.File directory
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0  directory  Ljava/io/File;
            7    8     1    message  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      directory  final

  public static void cleanDirectory(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String directory
         0: .line 1692
            new java.io.File
            dup
            aload 0 /* directory */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokestatic org.codehaus.plexus.util.FileUtils.cleanDirectory:(Ljava/io/File;)V
         1: .line 1693
            return
        end local 0 // java.lang.String directory
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  directory  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      directory  final

  public static void cleanDirectory(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // java.io.File directory
         0: .line 1704
            aload 0 /* directory */
            invokevirtual java.io.File.exists:()Z
            ifne 3
         1: .line 1706
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* directory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " does not exist"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* message */
        start local 1 // java.lang.String message
         2: .line 1707
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* message */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String message
         3: .line 1710
      StackMap locals:
      StackMap stack:
            aload 0 /* directory */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 6
         4: .line 1712
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* directory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is not a directory"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* message */
        start local 1 // java.lang.String message
         5: .line 1713
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* message */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String message
         6: .line 1716
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* exception */
        start local 1 // java.io.IOException exception
         7: .line 1718
            aload 0 /* directory */
            invokevirtual java.io.File.listFiles:()[Ljava/io/File;
            astore 2 /* files */
        start local 2 // java.io.File[] files
         8: .line 1720
            aload 2 /* files */
            ifnonnull 10
         9: .line 1722
            return
        10: .line 1725
      StackMap locals: java.io.IOException java.io.File[]
      StackMap stack:
            aload 2 /* files */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 17
      StackMap locals: java.io.File java.io.IOException java.io.File[] top int int java.io.File[]
      StackMap stack:
        11: aload 6
            iload 4
            aaload
            astore 3 /* file */
        start local 3 // java.io.File file
        12: .line 1729
            aload 3 /* file */
            invokestatic org.codehaus.plexus.util.FileUtils.forceDelete:(Ljava/io/File;)V
        13: .line 1730
            goto 16
        14: .line 1731
      StackMap locals: java.io.File java.io.IOException java.io.File[] java.io.File int int java.io.File[]
      StackMap stack: java.io.IOException
            astore 7 /* ioe */
        start local 7 // java.io.IOException ioe
        15: .line 1733
            aload 7 /* ioe */
            astore 1 /* exception */
        end local 7 // java.io.IOException ioe
        end local 3 // java.io.File file
        16: .line 1725
      StackMap locals: java.io.File java.io.IOException java.io.File[] top int int java.io.File[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        17: iload 4
            iload 5
            if_icmplt 11
        18: .line 1737
            aload 1 /* exception */
            ifnull 20
        19: .line 1739
            aload 1 /* exception */
            athrow
        20: .line 1741
      StackMap locals: java.io.File java.io.IOException java.io.File[]
      StackMap stack:
            return
        end local 2 // java.io.File[] files
        end local 1 // java.io.IOException exception
        end local 0 // java.io.File directory
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0  directory  Ljava/io/File;
            2    3     1    message  Ljava/lang/String;
            5    6     1    message  Ljava/lang/String;
            7   21     1  exception  Ljava/io/IOException;
            8   21     2      files  [Ljava/io/File;
           12   16     3       file  Ljava/io/File;
           15   16     7        ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          12    13      14  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      directory  final

  public static long sizeOfDirectory(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String directory
         0: .line 1751
            new java.io.File
            dup
            aload 0 /* directory */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokestatic org.codehaus.plexus.util.FileUtils.sizeOfDirectory:(Ljava/io/File;)J
            lreturn
        end local 0 // java.lang.String directory
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  directory  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      directory  final

  public static long sizeOfDirectory(java.io.File);
    descriptor: (Ljava/io/File;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // java.io.File directory
         0: .line 1762
            aload 0 /* directory */
            invokevirtual java.io.File.exists:()Z
            ifne 3
         1: .line 1764
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* directory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " does not exist"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* message */
        start local 1 // java.lang.String message
         2: .line 1765
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* message */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String message
         3: .line 1768
      StackMap locals:
      StackMap stack:
            aload 0 /* directory */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 6
         4: .line 1770
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* directory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is not a directory"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* message */
        start local 1 // java.lang.String message
         5: .line 1771
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* message */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String message
         6: .line 1774
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 1 /* size */
        start local 1 // long size
         7: .line 1776
            aload 0 /* directory */
            invokevirtual java.io.File.listFiles:()[Ljava/io/File;
            astore 3 /* files */
        start local 3 // java.io.File[] files
         8: .line 1777
            aload 3 /* files */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 15
      StackMap locals: java.io.File long java.io.File[] top int int java.io.File[]
      StackMap stack:
         9: aload 7
            iload 5
            aaload
            astore 4 /* file */
        start local 4 // java.io.File file
        10: .line 1779
            aload 4 /* file */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 13
        11: .line 1781
            lload 1 /* size */
            aload 4 /* file */
            invokestatic org.codehaus.plexus.util.FileUtils.sizeOfDirectory:(Ljava/io/File;)J
            ladd
            lstore 1 /* size */
        12: .line 1782
            goto 14
        13: .line 1785
      StackMap locals: java.io.File long java.io.File[] java.io.File int int java.io.File[]
      StackMap stack:
            lload 1 /* size */
            aload 4 /* file */
            invokevirtual java.io.File.length:()J
            ladd
            lstore 1 /* size */
        end local 4 // java.io.File file
        14: .line 1777
      StackMap locals: java.io.File long java.io.File[] top int int java.io.File[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        15: iload 5
            iload 6
            if_icmplt 9
        16: .line 1789
            lload 1 /* size */
            lreturn
        end local 3 // java.io.File[] files
        end local 1 // long size
        end local 0 // java.io.File directory
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0  directory  Ljava/io/File;
            2    3     1    message  Ljava/lang/String;
            5    6     1    message  Ljava/lang/String;
            7   17     1       size  J
            8   17     3      files  [Ljava/io/File;
           10   14     4       file  Ljava/io/File;
    MethodParameters:
           Name  Flags
      directory  final

  public static java.util.List<java.io.File> getFiles(java.io.File, java.lang.String, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.io.File directory
        start local 1 // java.lang.String includes
        start local 2 // java.lang.String excludes
         0: .line 1806
            aload 0 /* directory */
            aload 1 /* includes */
            aload 2 /* excludes */
            iconst_1
            invokestatic org.codehaus.plexus.util.FileUtils.getFiles:(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/List;
            areturn
        end local 2 // java.lang.String excludes
        end local 1 // java.lang.String includes
        end local 0 // java.io.File directory
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  directory  Ljava/io/File;
            0    1     1   includes  Ljava/lang/String;
            0    1     2   excludes  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List<Ljava/io/File;>;
    MethodParameters:
           Name  Flags
      directory  
      includes   
      excludes   

  public static java.util.List<java.io.File> getFiles(java.io.File, java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // java.io.File directory
        start local 1 // java.lang.String includes
        start local 2 // java.lang.String excludes
        start local 3 // boolean includeBasedir
         0: .line 1823
            aload 0 /* directory */
            aload 1 /* includes */
            aload 2 /* excludes */
            iload 3 /* includeBasedir */
            invokestatic org.codehaus.plexus.util.FileUtils.getFileNames:(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/List;
            astore 4 /* fileNames */
        start local 4 // java.util.List fileNames
         1: .line 1825
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* files */
        start local 5 // java.util.List files
         2: .line 1827
            aload 4 /* fileNames */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 5
      StackMap locals: java.io.File java.lang.String java.lang.String int java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* filename */
        start local 6 // java.lang.String filename
         4: .line 1829
            aload 5 /* files */
            new java.io.File
            dup
            aload 6 /* filename */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.String filename
         5: .line 1827
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 1832
            aload 5 /* files */
            areturn
        end local 5 // java.util.List files
        end local 4 // java.util.List fileNames
        end local 3 // boolean includeBasedir
        end local 2 // java.lang.String excludes
        end local 1 // java.lang.String includes
        end local 0 // java.io.File directory
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0       directory  Ljava/io/File;
            0    7     1        includes  Ljava/lang/String;
            0    7     2        excludes  Ljava/lang/String;
            0    7     3  includeBasedir  Z
            1    7     4       fileNames  Ljava/util/List<Ljava/lang/String;>;
            2    7     5           files  Ljava/util/List<Ljava/io/File;>;
            4    5     6        filename  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/List<Ljava/io/File;>;
    MethodParameters:
                Name  Flags
      directory       
      includes        
      excludes        
      includeBasedir  

  public static java.util.List<java.lang.String> getFileNames(java.io.File, java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.io.File directory
        start local 1 // java.lang.String includes
        start local 2 // java.lang.String excludes
        start local 3 // boolean includeBasedir
         0: .line 1848
            aload 0 /* directory */
            aload 1 /* includes */
            aload 2 /* excludes */
            iload 3 /* includeBasedir */
            iconst_1
            invokestatic org.codehaus.plexus.util.FileUtils.getFileNames:(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/util/List;
            areturn
        end local 3 // boolean includeBasedir
        end local 2 // java.lang.String excludes
        end local 1 // java.lang.String includes
        end local 0 // java.io.File directory
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0       directory  Ljava/io/File;
            0    1     1        includes  Ljava/lang/String;
            0    1     2        excludes  Ljava/lang/String;
            0    1     3  includeBasedir  Z
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
                Name  Flags
      directory       
      includes        
      excludes        
      includeBasedir  

  public static java.util.List<java.lang.String> getFileNames(java.io.File, java.lang.String, java.lang.String, boolean, boolean);
    descriptor: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // java.io.File directory
        start local 1 // java.lang.String includes
        start local 2 // java.lang.String excludes
        start local 3 // boolean includeBasedir
        start local 4 // boolean isCaseSensitive
         0: .line 1866
            aload 0 /* directory */
            aload 1 /* includes */
            aload 2 /* excludes */
            iload 3 /* includeBasedir */
            iload 4 /* isCaseSensitive */
            iconst_1
            iconst_0
            invokestatic org.codehaus.plexus.util.FileUtils.getFileAndDirectoryNames:(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;ZZZZ)Ljava/util/List;
            areturn
        end local 4 // boolean isCaseSensitive
        end local 3 // boolean includeBasedir
        end local 2 // java.lang.String excludes
        end local 1 // java.lang.String includes
        end local 0 // java.io.File directory
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0        directory  Ljava/io/File;
            0    1     1         includes  Ljava/lang/String;
            0    1     2         excludes  Ljava/lang/String;
            0    1     3   includeBasedir  Z
            0    1     4  isCaseSensitive  Z
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
                 Name  Flags
      directory        
      includes         
      excludes         
      includeBasedir   
      isCaseSensitive  

  public static java.util.List<java.lang.String> getDirectoryNames(java.io.File, java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.io.File directory
        start local 1 // java.lang.String includes
        start local 2 // java.lang.String excludes
        start local 3 // boolean includeBasedir
         0: .line 1883
            aload 0 /* directory */
            aload 1 /* includes */
            aload 2 /* excludes */
            iload 3 /* includeBasedir */
            iconst_1
            invokestatic org.codehaus.plexus.util.FileUtils.getDirectoryNames:(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/util/List;
            areturn
        end local 3 // boolean includeBasedir
        end local 2 // java.lang.String excludes
        end local 1 // java.lang.String includes
        end local 0 // java.io.File directory
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0       directory  Ljava/io/File;
            0    1     1        includes  Ljava/lang/String;
            0    1     2        excludes  Ljava/lang/String;
            0    1     3  includeBasedir  Z
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
                Name  Flags
      directory       
      includes        
      excludes        
      includeBasedir  

  public static java.util.List<java.lang.String> getDirectoryNames(java.io.File, java.lang.String, java.lang.String, boolean, boolean);
    descriptor: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // java.io.File directory
        start local 1 // java.lang.String includes
        start local 2 // java.lang.String excludes
        start local 3 // boolean includeBasedir
        start local 4 // boolean isCaseSensitive
         0: .line 1901
            aload 0 /* directory */
            aload 1 /* includes */
            aload 2 /* excludes */
            iload 3 /* includeBasedir */
            iload 4 /* isCaseSensitive */
            iconst_0
            iconst_1
            invokestatic org.codehaus.plexus.util.FileUtils.getFileAndDirectoryNames:(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;ZZZZ)Ljava/util/List;
            areturn
        end local 4 // boolean isCaseSensitive
        end local 3 // boolean includeBasedir
        end local 2 // java.lang.String excludes
        end local 1 // java.lang.String includes
        end local 0 // java.io.File directory
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0        directory  Ljava/io/File;
            0    1     1         includes  Ljava/lang/String;
            0    1     2         excludes  Ljava/lang/String;
            0    1     3   includeBasedir  Z
            0    1     4  isCaseSensitive  Z
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
                 Name  Flags
      directory        
      includes         
      excludes         
      includeBasedir   
      isCaseSensitive  

  public static java.util.List<java.lang.String> getFileAndDirectoryNames(java.io.File, java.lang.String, java.lang.String, boolean, boolean, boolean, boolean);
    descriptor: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;ZZZZ)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=14, args_size=7
        start local 0 // java.io.File directory
        start local 1 // java.lang.String includes
        start local 2 // java.lang.String excludes
        start local 3 // boolean includeBasedir
        start local 4 // boolean isCaseSensitive
        start local 5 // boolean getFiles
        start local 6 // boolean getDirectories
         0: .line 1922
            new org.codehaus.plexus.util.DirectoryScanner
            dup
            invokespecial org.codehaus.plexus.util.DirectoryScanner.<init>:()V
            astore 7 /* scanner */
        start local 7 // org.codehaus.plexus.util.DirectoryScanner scanner
         1: .line 1924
            aload 7 /* scanner */
            aload 0 /* directory */
            invokevirtual org.codehaus.plexus.util.DirectoryScanner.setBasedir:(Ljava/io/File;)V
         2: .line 1926
            aload 1 /* includes */
            ifnull 4
         3: .line 1928
            aload 7 /* scanner */
            aload 1 /* includes */
            ldc ","
            invokestatic org.codehaus.plexus.util.StringUtils.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            invokevirtual org.codehaus.plexus.util.DirectoryScanner.setIncludes:([Ljava/lang/String;)V
         4: .line 1931
      StackMap locals: org.codehaus.plexus.util.DirectoryScanner
      StackMap stack:
            aload 2 /* excludes */
            ifnull 6
         5: .line 1933
            aload 7 /* scanner */
            aload 2 /* excludes */
            ldc ","
            invokestatic org.codehaus.plexus.util.StringUtils.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            invokevirtual org.codehaus.plexus.util.DirectoryScanner.setExcludes:([Ljava/lang/String;)V
         6: .line 1936
      StackMap locals:
      StackMap stack:
            aload 7 /* scanner */
            iload 4 /* isCaseSensitive */
            invokevirtual org.codehaus.plexus.util.DirectoryScanner.setCaseSensitive:(Z)V
         7: .line 1938
            aload 7 /* scanner */
            invokevirtual org.codehaus.plexus.util.DirectoryScanner.scan:()V
         8: .line 1940
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* list */
        start local 8 // java.util.List list
         9: .line 1942
            iload 5 /* getFiles */
            ifeq 19
        10: .line 1944
            aload 7 /* scanner */
            invokevirtual org.codehaus.plexus.util.DirectoryScanner.getIncludedFiles:()[Ljava/lang/String;
            astore 9 /* files */
        start local 9 // java.lang.String[] files
        11: .line 1946
            aload 9 /* files */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 18
      StackMap locals: java.io.File java.lang.String java.lang.String int int int int org.codehaus.plexus.util.DirectoryScanner java.util.List java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        12: aload 13
            iload 11
            aaload
            astore 10 /* file */
        start local 10 // java.lang.String file
        13: .line 1948
            iload 3 /* includeBasedir */
            ifeq 16
        14: .line 1950
            aload 8 /* list */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* directory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            getstatic org.codehaus.plexus.util.FileUtils.FS:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* file */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        15: .line 1951
            goto 17
        16: .line 1954
      StackMap locals: java.io.File java.lang.String java.lang.String int int int int org.codehaus.plexus.util.DirectoryScanner java.util.List java.lang.String[] java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 8 /* list */
            aload 10 /* file */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // java.lang.String file
        17: .line 1946
      StackMap locals: java.io.File java.lang.String java.lang.String int int int int org.codehaus.plexus.util.DirectoryScanner java.util.List java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 11 1
      StackMap locals:
      StackMap stack:
        18: iload 11
            iload 12
            if_icmplt 12
        end local 9 // java.lang.String[] files
        19: .line 1959
      StackMap locals: java.io.File java.lang.String java.lang.String int int int int org.codehaus.plexus.util.DirectoryScanner java.util.List
      StackMap stack:
            iload 6 /* getDirectories */
            ifeq 29
        20: .line 1961
            aload 7 /* scanner */
            invokevirtual org.codehaus.plexus.util.DirectoryScanner.getIncludedDirectories:()[Ljava/lang/String;
            astore 9 /* directories */
        start local 9 // java.lang.String[] directories
        21: .line 1963
            aload 9 /* directories */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 28
      StackMap locals: java.io.File java.lang.String java.lang.String int int int int org.codehaus.plexus.util.DirectoryScanner java.util.List java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        22: aload 13
            iload 11
            aaload
            astore 10 /* directory1 */
        start local 10 // java.lang.String directory1
        23: .line 1965
            iload 3 /* includeBasedir */
            ifeq 26
        24: .line 1967
            aload 8 /* list */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* directory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            getstatic org.codehaus.plexus.util.FileUtils.FS:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* directory1 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        25: .line 1968
            goto 27
        26: .line 1971
      StackMap locals: java.io.File java.lang.String java.lang.String int int int int org.codehaus.plexus.util.DirectoryScanner java.util.List java.lang.String[] java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 8 /* list */
            aload 10 /* directory1 */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // java.lang.String directory1
        27: .line 1963
      StackMap locals: java.io.File java.lang.String java.lang.String int int int int org.codehaus.plexus.util.DirectoryScanner java.util.List java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 11 1
      StackMap locals:
      StackMap stack:
        28: iload 11
            iload 12
            if_icmplt 22
        end local 9 // java.lang.String[] directories
        29: .line 1976
      StackMap locals: java.io.File java.lang.String java.lang.String int int int int org.codehaus.plexus.util.DirectoryScanner java.util.List
      StackMap stack:
            aload 8 /* list */
            areturn
        end local 8 // java.util.List list
        end local 7 // org.codehaus.plexus.util.DirectoryScanner scanner
        end local 6 // boolean getDirectories
        end local 5 // boolean getFiles
        end local 4 // boolean isCaseSensitive
        end local 3 // boolean includeBasedir
        end local 2 // java.lang.String excludes
        end local 1 // java.lang.String includes
        end local 0 // java.io.File directory
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   30     0        directory  Ljava/io/File;
            0   30     1         includes  Ljava/lang/String;
            0   30     2         excludes  Ljava/lang/String;
            0   30     3   includeBasedir  Z
            0   30     4  isCaseSensitive  Z
            0   30     5         getFiles  Z
            0   30     6   getDirectories  Z
            1   30     7          scanner  Lorg/codehaus/plexus/util/DirectoryScanner;
            9   30     8             list  Ljava/util/List<Ljava/lang/String;>;
           11   19     9            files  [Ljava/lang/String;
           13   17    10             file  Ljava/lang/String;
           21   29     9      directories  [Ljava/lang/String;
           23   27    10       directory1  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;ZZZZ)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
                 Name  Flags
      directory        
      includes         
      excludes         
      includeBasedir   
      isCaseSensitive  
      getFiles         
      getDirectories   

  public static void copyDirectory(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.io.File sourceDirectory
        start local 1 // java.io.File destinationDirectory
         0: .line 1989
            aload 0 /* sourceDirectory */
            aload 1 /* destinationDirectory */
            ldc "**"
            aconst_null
            invokestatic org.codehaus.plexus.util.FileUtils.copyDirectory:(Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 1990
            return
        end local 1 // java.io.File destinationDirectory
        end local 0 // java.io.File sourceDirectory
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0       sourceDirectory  Ljava/io/File;
            0    2     1  destinationDirectory  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                      Name  Flags
      sourceDirectory       
      destinationDirectory  

  public static void copyDirectory(java.io.File, java.io.File, java.lang.String, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // java.io.File sourceDirectory
        start local 1 // java.io.File destinationDirectory
        start local 2 // java.lang.String includes
        start local 3 // java.lang.String excludes
         0: .line 2006
            aload 0 /* sourceDirectory */
            invokevirtual java.io.File.exists:()Z
            ifne 2
         1: .line 2008
            return
         2: .line 2011
      StackMap locals:
      StackMap stack:
            aload 0 /* sourceDirectory */
            aload 2 /* includes */
            aload 3 /* excludes */
            invokestatic org.codehaus.plexus.util.FileUtils.getFiles:(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
            astore 4 /* files */
        start local 4 // java.util.List files
         3: .line 2013
            aload 4 /* files */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 6
      StackMap locals: java.io.File java.io.File java.lang.String java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.File
            astore 5 /* file */
        start local 5 // java.io.File file
         5: .line 2015
            aload 5 /* file */
            aload 1 /* destinationDirectory */
            invokestatic org.codehaus.plexus.util.FileUtils.copyFileToDirectory:(Ljava/io/File;Ljava/io/File;)V
        end local 5 // java.io.File file
         6: .line 2013
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 2017
            return
        end local 4 // java.util.List files
        end local 3 // java.lang.String excludes
        end local 2 // java.lang.String includes
        end local 1 // java.io.File destinationDirectory
        end local 0 // java.io.File sourceDirectory
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    8     0       sourceDirectory  Ljava/io/File;
            0    8     1  destinationDirectory  Ljava/io/File;
            0    8     2              includes  Ljava/lang/String;
            0    8     3              excludes  Ljava/lang/String;
            3    8     4                 files  Ljava/util/List<Ljava/io/File;>;
            5    6     5                  file  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                      Name  Flags
      sourceDirectory       
      destinationDirectory  
      includes              
      excludes              

  public static void copyDirectoryLayout(java.io.File, java.io.File, java.lang.String[], java.lang.String[]);
    descriptor: (Ljava/io/File;Ljava/io/File;[Ljava/lang/String;[Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // java.io.File sourceDirectory
        start local 1 // java.io.File destinationDirectory
        start local 2 // java.lang.String[] includes
        start local 3 // java.lang.String[] excludes
         0: .line 2039
            aload 0 /* sourceDirectory */
            ifnonnull 2
         1: .line 2041
            new java.io.IOException
            dup
            ldc "source directory can't be null."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2044
      StackMap locals:
      StackMap stack:
            aload 1 /* destinationDirectory */
            ifnonnull 4
         3: .line 2046
            new java.io.IOException
            dup
            ldc "destination directory can't be null."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2049
      StackMap locals:
      StackMap stack:
            aload 0 /* sourceDirectory */
            aload 1 /* destinationDirectory */
            invokevirtual java.io.File.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 2051
            new java.io.IOException
            dup
            ldc "source and destination are the same directory."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 2054
      StackMap locals:
      StackMap stack:
            aload 0 /* sourceDirectory */
            invokevirtual java.io.File.exists:()Z
            ifne 8
         7: .line 2056
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Source directory doesn't exists ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* sourceDirectory */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 2059
      StackMap locals:
      StackMap stack:
            new org.codehaus.plexus.util.DirectoryScanner
            dup
            invokespecial org.codehaus.plexus.util.DirectoryScanner.<init>:()V
            astore 4 /* scanner */
        start local 4 // org.codehaus.plexus.util.DirectoryScanner scanner
         9: .line 2061
            aload 4 /* scanner */
            aload 0 /* sourceDirectory */
            invokevirtual org.codehaus.plexus.util.DirectoryScanner.setBasedir:(Ljava/io/File;)V
        10: .line 2063
            aload 2 /* includes */
            ifnull 13
            aload 2 /* includes */
            arraylength
            iconst_1
            if_icmplt 13
        11: .line 2065
            aload 4 /* scanner */
            aload 2 /* includes */
            invokevirtual org.codehaus.plexus.util.DirectoryScanner.setIncludes:([Ljava/lang/String;)V
        12: .line 2066
            goto 14
        13: .line 2069
      StackMap locals: org.codehaus.plexus.util.DirectoryScanner
      StackMap stack:
            aload 4 /* scanner */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "**"
            aastore
            invokevirtual org.codehaus.plexus.util.DirectoryScanner.setIncludes:([Ljava/lang/String;)V
        14: .line 2072
      StackMap locals:
      StackMap stack:
            aload 3 /* excludes */
            ifnull 16
            aload 3 /* excludes */
            arraylength
            iconst_1
            if_icmplt 16
        15: .line 2074
            aload 4 /* scanner */
            aload 3 /* excludes */
            invokevirtual org.codehaus.plexus.util.DirectoryScanner.setExcludes:([Ljava/lang/String;)V
        16: .line 2077
      StackMap locals:
      StackMap stack:
            aload 4 /* scanner */
            invokevirtual org.codehaus.plexus.util.DirectoryScanner.addDefaultExcludes:()V
        17: .line 2078
            aload 4 /* scanner */
            invokevirtual org.codehaus.plexus.util.DirectoryScanner.scan:()V
        18: .line 2079
            aload 4 /* scanner */
            invokevirtual org.codehaus.plexus.util.DirectoryScanner.getIncludedDirectories:()[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 5 /* includedDirectories */
        start local 5 // java.util.List includedDirectories
        19: .line 2081
            aload 5 /* includedDirectories */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 26
      StackMap locals: java.io.File java.io.File java.lang.String[] java.lang.String[] org.codehaus.plexus.util.DirectoryScanner java.util.List top java.util.Iterator
      StackMap stack:
        20: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* name */
        start local 6 // java.lang.String name
        21: .line 2083
            new java.io.File
            dup
            aload 0 /* sourceDirectory */
            aload 6 /* name */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 8 /* source */
        start local 8 // java.io.File source
        22: .line 2085
            aload 8 /* source */
            aload 0 /* sourceDirectory */
            invokevirtual java.io.File.equals:(Ljava/lang/Object;)Z
            ifeq 24
        23: .line 2087
            goto 26
        24: .line 2090
      StackMap locals: java.io.File java.io.File java.lang.String[] java.lang.String[] org.codehaus.plexus.util.DirectoryScanner java.util.List java.lang.String java.util.Iterator java.io.File
      StackMap stack:
            new java.io.File
            dup
            aload 1 /* destinationDirectory */
            aload 6 /* name */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 9 /* destination */
        start local 9 // java.io.File destination
        25: .line 2091
            aload 9 /* destination */
            invokevirtual java.io.File.mkdirs:()Z
            pop
        end local 9 // java.io.File destination
        end local 8 // java.io.File source
        end local 6 // java.lang.String name
        26: .line 2081
      StackMap locals: java.io.File java.io.File java.lang.String[] java.lang.String[] org.codehaus.plexus.util.DirectoryScanner java.util.List top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        27: .line 2093
            return
        end local 5 // java.util.List includedDirectories
        end local 4 // org.codehaus.plexus.util.DirectoryScanner scanner
        end local 3 // java.lang.String[] excludes
        end local 2 // java.lang.String[] includes
        end local 1 // java.io.File destinationDirectory
        end local 0 // java.io.File sourceDirectory
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   28     0       sourceDirectory  Ljava/io/File;
            0   28     1  destinationDirectory  Ljava/io/File;
            0   28     2              includes  [Ljava/lang/String;
            0   28     3              excludes  [Ljava/lang/String;
            9   28     4               scanner  Lorg/codehaus/plexus/util/DirectoryScanner;
           19   28     5   includedDirectories  Ljava/util/List<Ljava/lang/String;>;
           21   26     6                  name  Ljava/lang/String;
           22   26     8                source  Ljava/io/File;
           25   26     9           destination  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                      Name  Flags
      sourceDirectory       
      destinationDirectory  
      includes              
      excludes              

  public static void copyDirectoryStructure(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.io.File sourceDirectory
        start local 1 // java.io.File destinationDirectory
         0: .line 2111
            aload 0 /* sourceDirectory */
            aload 1 /* destinationDirectory */
            aload 1 /* destinationDirectory */
            iconst_0
            invokestatic org.codehaus.plexus.util.FileUtils.copyDirectoryStructure:(Ljava/io/File;Ljava/io/File;Ljava/io/File;Z)V
         1: .line 2112
            return
        end local 1 // java.io.File destinationDirectory
        end local 0 // java.io.File sourceDirectory
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0       sourceDirectory  Ljava/io/File;
            0    2     1  destinationDirectory  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                      Name  Flags
      sourceDirectory       
      destinationDirectory  

  public static void copyDirectoryStructureIfModified(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.io.File sourceDirectory
        start local 1 // java.io.File destinationDirectory
         0: .line 2130
            aload 0 /* sourceDirectory */
            aload 1 /* destinationDirectory */
            aload 1 /* destinationDirectory */
            iconst_1
            invokestatic org.codehaus.plexus.util.FileUtils.copyDirectoryStructure:(Ljava/io/File;Ljava/io/File;Ljava/io/File;Z)V
         1: .line 2131
            return
        end local 1 // java.io.File destinationDirectory
        end local 0 // java.io.File sourceDirectory
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0       sourceDirectory  Ljava/io/File;
            0    2     1  destinationDirectory  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                      Name  Flags
      sourceDirectory       
      destinationDirectory  

  private static void copyDirectoryStructure(java.io.File, java.io.File, java.io.File, boolean);
    descriptor: (Ljava/io/File;Ljava/io/File;Ljava/io/File;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=4
        start local 0 // java.io.File sourceDirectory
        start local 1 // java.io.File destinationDirectory
        start local 2 // java.io.File rootDestinationDirectory
        start local 3 // boolean onlyModifiedFiles
         0: .line 2137
            aload 0 /* sourceDirectory */
            ifnonnull 2
         1: .line 2139
            new java.io.IOException
            dup
            ldc "source directory can't be null."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2142
      StackMap locals:
      StackMap stack:
            aload 1 /* destinationDirectory */
            ifnonnull 4
         3: .line 2144
            new java.io.IOException
            dup
            ldc "destination directory can't be null."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2147
      StackMap locals:
      StackMap stack:
            aload 0 /* sourceDirectory */
            aload 1 /* destinationDirectory */
            invokevirtual java.io.File.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 2149
            new java.io.IOException
            dup
            ldc "source and destination are the same directory."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 2152
      StackMap locals:
      StackMap stack:
            aload 0 /* sourceDirectory */
            invokevirtual java.io.File.exists:()Z
            ifne 8
         7: .line 2154
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Source directory doesn't exists ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* sourceDirectory */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 2157
      StackMap locals:
      StackMap stack:
            aload 0 /* sourceDirectory */
            invokevirtual java.io.File.listFiles:()[Ljava/io/File;
            astore 4 /* files */
        start local 4 // java.io.File[] files
         9: .line 2159
            aload 0 /* sourceDirectory */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            astore 5 /* sourcePath */
        start local 5 // java.lang.String sourcePath
        10: .line 2161
            aload 4 /* files */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 33
      StackMap locals: java.io.File java.io.File java.io.File int java.io.File[] java.lang.String top int int java.io.File[]
      StackMap stack:
        11: aload 9
            iload 7
            aaload
            astore 6 /* file */
        start local 6 // java.io.File file
        12: .line 2163
            aload 6 /* file */
            aload 2 /* rootDestinationDirectory */
            invokevirtual java.io.File.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 2166
            goto 32
        14: .line 2169
      StackMap locals: java.io.File java.io.File java.io.File int java.io.File[] java.lang.String java.io.File int int java.io.File[]
      StackMap stack:
            aload 6 /* file */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            astore 10 /* dest */
        start local 10 // java.lang.String dest
        15: .line 2171
            aload 10 /* dest */
            aload 5 /* sourcePath */
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 10 /* dest */
        16: .line 2173
            new java.io.File
            dup
            aload 1 /* destinationDirectory */
            aload 10 /* dest */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 11 /* destination */
        start local 11 // java.io.File destination
        17: .line 2175
            aload 6 /* file */
            invokevirtual java.io.File.isFile:()Z
            ifeq 24
        18: .line 2177
            aload 11 /* destination */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 11 /* destination */
        19: .line 2179
            iload 3 /* onlyModifiedFiles */
            ifeq 22
        20: .line 2181
            aload 6 /* file */
            aload 11 /* destination */
            invokestatic org.codehaus.plexus.util.FileUtils.copyFileToDirectoryIfModified:(Ljava/io/File;Ljava/io/File;)V
        21: .line 2182
            goto 32
        22: .line 2185
      StackMap locals: java.lang.String java.io.File
      StackMap stack:
            aload 6 /* file */
            aload 11 /* destination */
            invokestatic org.codehaus.plexus.util.FileUtils.copyFileToDirectory:(Ljava/io/File;Ljava/io/File;)V
        23: .line 2187
            goto 32
        24: .line 2188
      StackMap locals:
      StackMap stack:
            aload 6 /* file */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 31
        25: .line 2190
            aload 11 /* destination */
            invokevirtual java.io.File.exists:()Z
            ifne 29
            aload 11 /* destination */
            invokevirtual java.io.File.mkdirs:()Z
            ifne 29
        26: .line 2192
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not create destination directory '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* destination */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 2193
            ldc "'."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 2192
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 2196
      StackMap locals:
      StackMap stack:
            aload 6 /* file */
            aload 11 /* destination */
            aload 2 /* rootDestinationDirectory */
            iload 3 /* onlyModifiedFiles */
            invokestatic org.codehaus.plexus.util.FileUtils.copyDirectoryStructure:(Ljava/io/File;Ljava/io/File;Ljava/io/File;Z)V
        30: .line 2197
            goto 32
        31: .line 2200
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown file type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* file */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.io.File destination
        end local 10 // java.lang.String dest
        end local 6 // java.io.File file
        32: .line 2161
      StackMap locals: java.io.File java.io.File java.io.File int java.io.File[] java.lang.String top int int java.io.File[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        33: iload 7
            iload 8
            if_icmplt 11
        34: .line 2203
            return
        end local 5 // java.lang.String sourcePath
        end local 4 // java.io.File[] files
        end local 3 // boolean onlyModifiedFiles
        end local 2 // java.io.File rootDestinationDirectory
        end local 1 // java.io.File destinationDirectory
        end local 0 // java.io.File sourceDirectory
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   35     0           sourceDirectory  Ljava/io/File;
            0   35     1      destinationDirectory  Ljava/io/File;
            0   35     2  rootDestinationDirectory  Ljava/io/File;
            0   35     3         onlyModifiedFiles  Z
            9   35     4                     files  [Ljava/io/File;
           10   35     5                sourcePath  Ljava/lang/String;
           12   32     6                      file  Ljava/io/File;
           15   32    10                      dest  Ljava/lang/String;
           17   32    11               destination  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                          Name  Flags
      sourceDirectory           
      destinationDirectory      
      rootDestinationDirectory  
      onlyModifiedFiles         

  public static void rename(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.io.File from
        start local 1 // java.io.File to
         0: .line 2219
            aload 1 /* to */
            invokevirtual java.io.File.exists:()Z
            ifeq 2
            aload 1 /* to */
            invokevirtual java.io.File.delete:()Z
            ifne 2
         1: .line 2221
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to delete "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* to */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " while trying to rename "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* from */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2224
      StackMap locals:
      StackMap stack:
            aload 1 /* to */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 2 /* parent */
        start local 2 // java.io.File parent
         3: .line 2225
            aload 2 /* parent */
            ifnull 5
            aload 2 /* parent */
            invokevirtual java.io.File.exists:()Z
            ifne 5
            aload 2 /* parent */
            invokevirtual java.io.File.mkdirs:()Z
            ifne 5
         4: .line 2227
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to create directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* parent */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " while trying to rename "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* from */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 2230
      StackMap locals: java.io.File
      StackMap stack:
            aload 0 /* from */
            aload 1 /* to */
            invokevirtual java.io.File.renameTo:(Ljava/io/File;)Z
            ifne 9
         6: .line 2232
            aload 0 /* from */
            aload 1 /* to */
            invokestatic org.codehaus.plexus.util.FileUtils.copyFile:(Ljava/io/File;Ljava/io/File;)V
         7: .line 2233
            aload 0 /* from */
            invokevirtual java.io.File.delete:()Z
            ifne 9
         8: .line 2235
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to delete "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* from */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " while trying to rename it."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 2238
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.File parent
        end local 1 // java.io.File to
        end local 0 // java.io.File from
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    from  Ljava/io/File;
            0   10     1      to  Ljava/io/File;
            3   10     2  parent  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      from  
      to    

  public static java.io.File createTempFile(java.lang.String, java.lang.String, java.io.File);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=11, args_size=3
        start local 0 // java.lang.String prefix
        start local 1 // java.lang.String suffix
        start local 2 // java.io.File parentDir
         0: .line 2260
            aconst_null
            astore 3 /* result */
        start local 3 // java.io.File result
         1: .line 2261
            ldc "java.io.tmpdir"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* parent */
        start local 4 // java.lang.String parent
         2: .line 2262
            aload 2 /* parentDir */
            ifnull 4
         3: .line 2264
            aload 2 /* parentDir */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            astore 4 /* parent */
         4: .line 2266
      StackMap locals: java.io.File java.lang.String
      StackMap stack:
            new java.text.DecimalFormat
            dup
            ldc "#####"
            invokespecial java.text.DecimalFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* fmt */
        start local 5 // java.text.DecimalFormat fmt
         5: .line 2267
            new java.security.SecureRandom
            dup
            invokespecial java.security.SecureRandom.<init>:()V
            astore 6 /* secureRandom */
        start local 6 // java.security.SecureRandom secureRandom
         6: .line 2268
            aload 6 /* secureRandom */
            invokevirtual java.security.SecureRandom.nextLong:()J
            lstore 7 /* secureInitializer */
        start local 7 // long secureInitializer
         7: .line 2269
            new java.util.Random
            dup
            lload 7 /* secureInitializer */
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.freeMemory:()J
            ladd
            invokespecial java.util.Random.<init>:(J)V
            astore 9 /* rand */
        start local 9 // java.util.Random rand
         8: .line 2270
            aload 9 /* rand */
            dup
            astore 10
            monitorenter
         9: .line 2274
      StackMap locals: java.lang.String java.lang.String java.io.File java.io.File java.lang.String java.text.DecimalFormat java.security.SecureRandom long java.util.Random java.util.Random
      StackMap stack:
            new java.io.File
            dup
            aload 4 /* parent */
            new java.lang.StringBuilder
            dup
            aload 0 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* fmt */
            aload 9 /* rand */
            invokevirtual java.util.Random.nextInt:()I
            invokestatic java.lang.Math.abs:(I)I
            i2l
            invokevirtual java.text.DecimalFormat.format:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 3 /* result */
        10: .line 2276
            aload 3 /* result */
            invokevirtual java.io.File.exists:()Z
            ifne 9
        11: .line 2270
            aload 10
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 10
            monitorexit
        14: athrow
        15: .line 2279
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 9 // java.util.Random rand
        end local 7 // long secureInitializer
        end local 6 // java.security.SecureRandom secureRandom
        end local 5 // java.text.DecimalFormat fmt
        end local 4 // java.lang.String parent
        end local 3 // java.io.File result
        end local 2 // java.io.File parentDir
        end local 1 // java.lang.String suffix
        end local 0 // java.lang.String prefix
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   16     0             prefix  Ljava/lang/String;
            0   16     1             suffix  Ljava/lang/String;
            0   16     2          parentDir  Ljava/io/File;
            1   16     3             result  Ljava/io/File;
            2   16     4             parent  Ljava/lang/String;
            5   16     5                fmt  Ljava/text/DecimalFormat;
            6   16     6       secureRandom  Ljava/security/SecureRandom;
            7   16     7  secureInitializer  J
            8   16     9               rand  Ljava/util/Random;
      Exception table:
        from    to  target  type
           9    12      13  any
          13    14      13  any
    MethodParameters:
           Name  Flags
      prefix     
      suffix     
      parentDir  

  public static void copyFile(java.io.File, java.io.File, java.lang.String, org.codehaus.plexus.util.FileUtils$FilterWrapper[]);
    descriptor: (Ljava/io/File;Ljava/io/File;Ljava/lang/String;[Lorg/codehaus/plexus/util/FileUtils$FilterWrapper;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.io.File from
        start local 1 // java.io.File to
        start local 2 // java.lang.String encoding
        start local 3 // org.codehaus.plexus.util.FileUtils$FilterWrapper[] wrappers
         0: .line 2294
            aload 0 /* from */
            aload 1 /* to */
            aload 2 /* encoding */
            aload 3 /* wrappers */
            iconst_0
            invokestatic org.codehaus.plexus.util.FileUtils.copyFile:(Ljava/io/File;Ljava/io/File;Ljava/lang/String;[Lorg/codehaus/plexus/util/FileUtils$FilterWrapper;Z)V
         1: .line 2295
            return
        end local 3 // org.codehaus.plexus.util.FileUtils$FilterWrapper[] wrappers
        end local 2 // java.lang.String encoding
        end local 1 // java.io.File to
        end local 0 // java.io.File from
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      from  Ljava/io/File;
            0    2     1        to  Ljava/io/File;
            0    2     2  encoding  Ljava/lang/String;
            0    2     3  wrappers  [Lorg/codehaus/plexus/util/FileUtils$FilterWrapper;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      from      
      to        
      encoding  
      wrappers  

  public static void copyFile(java.io.File, java.io.File, java.lang.String, org.codehaus.plexus.util.FileUtils$FilterWrapper[], boolean);
    descriptor: (Ljava/io/File;Ljava/io/File;Ljava/lang/String;[Lorg/codehaus/plexus/util/FileUtils$FilterWrapper;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=13, args_size=5
        start local 0 // java.io.File from
        start local 1 // java.io.File to
        start local 2 // java.lang.String encoding
        start local 3 // org.codehaus.plexus.util.FileUtils$FilterWrapper[] wrappers
        start local 4 // boolean overwrite
         0: .line 2316
            aload 3 /* wrappers */
            ifnull 30
            aload 3 /* wrappers */
            arraylength
            ifle 30
         1: .line 2319
            aconst_null
            astore 5 /* fileReader */
        start local 5 // java.io.Reader fileReader
         2: .line 2320
            aconst_null
            astore 6 /* fileWriter */
        start local 6 // java.io.Writer fileWriter
         3: .line 2323
            aload 2 /* encoding */
            ifnull 4
            aload 2 /* encoding */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpge 7
         4: .line 2325
      StackMap locals: java.io.Reader java.io.Writer
      StackMap stack:
            new java.io.BufferedReader
            dup
            new java.io.FileReader
            dup
            aload 0 /* from */
            invokespecial java.io.FileReader.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 5 /* fileReader */
         5: .line 2326
            new java.io.FileWriter
            dup
            aload 1 /* to */
            invokespecial java.io.FileWriter.<init>:(Ljava/io/File;)V
            astore 6 /* fileWriter */
         6: .line 2327
            goto 11
         7: .line 2330
      StackMap locals:
      StackMap stack:
            new java.io.FileInputStream
            dup
            aload 0 /* from */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 7 /* instream */
        start local 7 // java.io.FileInputStream instream
         8: .line 2332
            new java.io.FileOutputStream
            dup
            aload 1 /* to */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 8 /* outstream */
        start local 8 // java.io.FileOutputStream outstream
         9: .line 2334
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 7 /* instream */
            aload 2 /* encoding */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 5 /* fileReader */
        10: .line 2336
            new java.io.OutputStreamWriter
            dup
            aload 8 /* outstream */
            aload 2 /* encoding */
            invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/lang/String;)V
            astore 6 /* fileWriter */
        end local 8 // java.io.FileOutputStream outstream
        end local 7 // java.io.FileInputStream instream
        11: .line 2339
      StackMap locals:
      StackMap stack:
            aload 5 /* fileReader */
            astore 7 /* reader */
        start local 7 // java.io.Reader reader
        12: .line 2340
            aload 3 /* wrappers */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 16
      StackMap locals: java.io.File java.io.File java.lang.String org.codehaus.plexus.util.FileUtils$FilterWrapper[] int java.io.Reader java.io.Writer java.io.Reader top int int org.codehaus.plexus.util.FileUtils$FilterWrapper[]
      StackMap stack:
        13: aload 11
            iload 9
            aaload
            astore 8 /* wrapper */
        start local 8 // org.codehaus.plexus.util.FileUtils$FilterWrapper wrapper
        14: .line 2342
            aload 8 /* wrapper */
            aload 7 /* reader */
            invokevirtual org.codehaus.plexus.util.FileUtils$FilterWrapper.getReader:(Ljava/io/Reader;)Ljava/io/Reader;
            astore 7 /* reader */
        end local 8 // org.codehaus.plexus.util.FileUtils$FilterWrapper wrapper
        15: .line 2340
            iinc 9 1
      StackMap locals:
      StackMap stack:
        16: iload 9
            iload 10
            if_icmplt 13
        17: .line 2345
            aload 7 /* reader */
            aload 6 /* fileWriter */
            invokestatic org.codehaus.plexus.util.IOUtil.copy:(Ljava/io/Reader;Ljava/io/Writer;)V
        18: .line 2346
            aload 6 /* fileWriter */
            invokevirtual java.io.Writer.close:()V
        19: .line 2347
            aconst_null
            astore 6 /* fileWriter */
        20: .line 2348
            aload 5 /* fileReader */
            invokevirtual java.io.Reader.close:()V
        21: .line 2349
            aconst_null
            astore 5 /* fileReader */
        end local 7 // java.io.Reader reader
        22: .line 2350
            goto 27
        23: .line 2352
      StackMap locals: java.io.File java.io.File java.lang.String org.codehaus.plexus.util.FileUtils$FilterWrapper[] int java.io.Reader java.io.Writer
      StackMap stack: java.lang.Throwable
            astore 12
        24: .line 2353
            aload 5 /* fileReader */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/Reader;)V
        25: .line 2354
            aload 6 /* fileWriter */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/Writer;)V
        26: .line 2355
            aload 12
            athrow
        27: .line 2353
      StackMap locals:
      StackMap stack:
            aload 5 /* fileReader */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/Reader;)V
        28: .line 2354
            aload 6 /* fileWriter */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/Writer;)V
        end local 6 // java.io.Writer fileWriter
        end local 5 // java.io.Reader fileReader
        29: .line 2356
            goto 32
        30: .line 2359
      StackMap locals:
      StackMap stack:
            aload 0 /* from */
            aload 1 /* to */
            invokestatic org.codehaus.plexus.util.FileUtils.isSourceNewerThanDestination:(Ljava/io/File;Ljava/io/File;)Z
            ifne 31
            iload 4 /* overwrite */
            ifeq 32
        31: .line 2361
      StackMap locals:
      StackMap stack:
            aload 0 /* from */
            aload 1 /* to */
            invokestatic org.codehaus.plexus.util.FileUtils.copyFile:(Ljava/io/File;Ljava/io/File;)V
        32: .line 2364
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean overwrite
        end local 3 // org.codehaus.plexus.util.FileUtils$FilterWrapper[] wrappers
        end local 2 // java.lang.String encoding
        end local 1 // java.io.File to
        end local 0 // java.io.File from
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   33     0        from  Ljava/io/File;
            0   33     1          to  Ljava/io/File;
            0   33     2    encoding  Ljava/lang/String;
            0   33     3    wrappers  [Lorg/codehaus/plexus/util/FileUtils$FilterWrapper;
            0   33     4   overwrite  Z
            2   29     5  fileReader  Ljava/io/Reader;
            3   29     6  fileWriter  Ljava/io/Writer;
            8   11     7    instream  Ljava/io/FileInputStream;
            9   11     8   outstream  Ljava/io/FileOutputStream;
           12   22     7      reader  Ljava/io/Reader;
           14   15     8     wrapper  Lorg/codehaus/plexus/util/FileUtils$FilterWrapper;
      Exception table:
        from    to  target  type
           3    23      23  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      from       
      to         
      encoding   
      wrappers   
      overwrite  

  private static boolean isSourceNewerThanDestination(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.io.File source
        start local 1 // java.io.File destination
         0: .line 2367
            aload 1 /* destination */
            invokevirtual java.io.File.lastModified:()J
            lconst_0
            lcmp
            ifne 1
            aload 0 /* source */
            invokevirtual java.io.File.lastModified:()J
            lconst_0
            lcmp
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* destination */
            invokevirtual java.io.File.lastModified:()J
            aload 0 /* source */
            invokevirtual java.io.File.lastModified:()J
            lcmp
            iflt 2
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 1 // java.io.File destination
        end local 0 // java.io.File source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0       source  Ljava/io/File;
            0    3     1  destination  Ljava/io/File;
    MethodParameters:
             Name  Flags
      source       
      destination  

  public static java.util.List<java.lang.String> loadFile(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.io.File file
         0: .line 2380
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* lines */
        start local 1 // java.util.List lines
         1: .line 2381
            aconst_null
            astore 2 /* reader */
        start local 2 // java.io.BufferedReader reader
         2: .line 2384
            aload 0 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 17
         3: .line 2386
            new java.io.BufferedReader
            dup
            new java.io.FileReader
            dup
            aload 0 /* file */
            invokespecial java.io.FileReader.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 2 /* reader */
         4: .line 2388
            aload 2 /* reader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 3 /* line */
        start local 3 // java.lang.String line
         5: goto 10
         6: .line 2390
      StackMap locals: java.util.List java.io.BufferedReader java.lang.String
      StackMap stack:
            aload 3 /* line */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 3 /* line */
         7: .line 2392
            aload 3 /* line */
            ldc "#"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 9
            aload 3 /* line */
            invokevirtual java.lang.String.length:()I
            ifeq 9
         8: .line 2394
            aload 1 /* lines */
            aload 3 /* line */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 2388
      StackMap locals:
      StackMap stack:
            aload 2 /* reader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 3 /* line */
      StackMap locals:
      StackMap stack:
        10: aload 3 /* line */
            ifnonnull 6
        end local 3 // java.lang.String line
        11: .line 2398
            aload 2 /* reader */
            invokevirtual java.io.BufferedReader.close:()V
        12: .line 2399
            aconst_null
            astore 2 /* reader */
        13: .line 2401
            goto 17
        14: .line 2403
      StackMap locals: java.io.File java.util.List java.io.BufferedReader
      StackMap stack: java.lang.Throwable
            astore 4
        15: .line 2404
            aload 2 /* reader */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/Reader;)V
        16: .line 2405
            aload 4
            athrow
        17: .line 2404
      StackMap locals:
      StackMap stack:
            aload 2 /* reader */
            invokestatic org.codehaus.plexus.util.IOUtil.close:(Ljava/io/Reader;)V
        18: .line 2407
            aload 1 /* lines */
            areturn
        end local 2 // java.io.BufferedReader reader
        end local 1 // java.util.List lines
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0    file  Ljava/io/File;
            1   19     1   lines  Ljava/util/List<Ljava/lang/String;>;
            2   19     2  reader  Ljava/io/BufferedReader;
            5   11     3    line  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2    14      14  any
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/File;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      file  

  public static boolean isValidWindowsFileName(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.File f
         0: .line 2422
            ldc "windows"
            invokestatic org.codehaus.plexus.util.Os.isFamily:(Ljava/lang/String;)Z
            ifeq 6
         1: .line 2424
            aload 0 /* f */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            getstatic org.codehaus.plexus.util.FileUtils.INVALID_CHARACTERS_FOR_WINDOWS_FILE_NAME:[Ljava/lang/String;
            invokestatic org.codehaus.plexus.util.StringUtils.indexOfAny:(Ljava/lang/String;[Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 3
         2: .line 2426
            iconst_0
            ireturn
         3: .line 2429
      StackMap locals:
      StackMap stack:
            aload 0 /* f */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 1 /* parentFile */
        start local 1 // java.io.File parentFile
         4: .line 2430
            aload 1 /* parentFile */
            ifnull 6
         5: .line 2432
            aload 1 /* parentFile */
            invokestatic org.codehaus.plexus.util.FileUtils.isValidWindowsFileName:(Ljava/io/File;)Z
            ireturn
        end local 1 // java.io.File parentFile
         6: .line 2436
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // java.io.File f
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0           f  Ljava/io/File;
            4    6     1  parentFile  Ljava/io/File;
    MethodParameters:
      Name  Flags
      f     
}
SourceFile: "FileUtils.java"
NestMembers:
  org.codehaus.plexus.util.FileUtils$FilterWrapper
InnerClasses:
  public abstract FilterWrapper = org.codehaus.plexus.util.FileUtils$FilterWrapper of org.codehaus.plexus.util.FileUtils