class org.jf.util.ClassFileNameHandler$DirectoryEntry extends org.jf.util.ClassFileNameHandler$FileSystemEntry
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.jf.util.ClassFileNameHandler$DirectoryEntry
  super_class: org.jf.util.ClassFileNameHandler$FileSystemEntry
{
  private java.io.File file;
    descriptor: Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      javax.annotation.Nullable()

  private int caseSensitivity;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final com.google.common.collect.Multimap<java.lang.String, org.jf.util.ClassFileNameHandler$FileSystemEntry> children;
    descriptor: Lcom/google/common/collect/Multimap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/google/common/collect/Multimap<Ljava/lang/String;Lorg/jf/util/ClassFileNameHandler$FileSystemEntry;>;

  final org.jf.util.ClassFileNameHandler this$0;
    descriptor: Lorg/jf/util/ClassFileNameHandler;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 288
            ldc Lorg/jf/util/ClassFileNameHandler;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.jf.util.ClassFileNameHandler$DirectoryEntry.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.jf.util.ClassFileNameHandler, java.io.File);
    descriptor: (Lorg/jf/util/ClassFileNameHandler;Ljava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jf.util.ClassFileNameHandler$DirectoryEntry this
        start local 2 // java.io.File path
         0: .line 297
            aload 0 /* this */
            aload 1
            putfield org.jf.util.ClassFileNameHandler$DirectoryEntry.this$0:Lorg/jf/util/ClassFileNameHandler;
         1: .line 298
            aload 0 /* this */
            aload 1
            aconst_null
            aload 2 /* path */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokespecial org.jf.util.ClassFileNameHandler$FileSystemEntry.<init>:(Lorg/jf/util/ClassFileNameHandler;Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;Ljava/lang/String;)V
         2: .line 289
            aload 0 /* this */
            aconst_null
            putfield org.jf.util.ClassFileNameHandler$DirectoryEntry.file:Ljava/io/File;
         3: .line 290
            aload 0 /* this */
            aload 1
            getfield org.jf.util.ClassFileNameHandler.forcedCaseSensitivity:I
            putfield org.jf.util.ClassFileNameHandler$DirectoryEntry.caseSensitivity:I
         4: .line 295
            aload 0 /* this */
            invokestatic com.google.common.collect.ArrayListMultimap.create:()Lcom/google/common/collect/ArrayListMultimap;
            putfield org.jf.util.ClassFileNameHandler$DirectoryEntry.children:Lcom/google/common/collect/Multimap;
         5: .line 299
            aload 0 /* this */
            aload 2 /* path */
            putfield org.jf.util.ClassFileNameHandler$DirectoryEntry.file:Ljava/io/File;
         6: .line 300
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jf.util.ClassFileNameHandler$DirectoryEntry.file:Ljava/io/File;
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            putfield org.jf.util.ClassFileNameHandler$DirectoryEntry.physicalName:Ljava/lang/String;
         7: .line 301
            return
        end local 2 // java.io.File path
        end local 0 // org.jf.util.ClassFileNameHandler$DirectoryEntry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;
            0    8     2  path  Ljava/io/File;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nonnull()
    RuntimeVisibleParameterAnnotations: 
      0:
        javax.annotation.Nonnull()
      1:
    MethodParameters:
        Name  Flags
      this$0  final
      path    

  public void <init>(org.jf.util.ClassFileNameHandler, org.jf.util.ClassFileNameHandler$DirectoryEntry, java.lang.String);
    descriptor: (Lorg/jf/util/ClassFileNameHandler;Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jf.util.ClassFileNameHandler$DirectoryEntry this
        start local 2 // org.jf.util.ClassFileNameHandler$DirectoryEntry parent
        start local 3 // java.lang.String logicalName
         0: .line 303
            aload 0 /* this */
            aload 1
            putfield org.jf.util.ClassFileNameHandler$DirectoryEntry.this$0:Lorg/jf/util/ClassFileNameHandler;
         1: .line 304
            aload 0 /* this */
            aload 1
            aload 2 /* parent */
            aload 3 /* logicalName */
            invokespecial org.jf.util.ClassFileNameHandler$FileSystemEntry.<init>:(Lorg/jf/util/ClassFileNameHandler;Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;Ljava/lang/String;)V
         2: .line 289
            aload 0 /* this */
            aconst_null
            putfield org.jf.util.ClassFileNameHandler$DirectoryEntry.file:Ljava/io/File;
         3: .line 290
            aload 0 /* this */
            aload 1
            getfield org.jf.util.ClassFileNameHandler.forcedCaseSensitivity:I
            putfield org.jf.util.ClassFileNameHandler$DirectoryEntry.caseSensitivity:I
         4: .line 295
            aload 0 /* this */
            invokestatic com.google.common.collect.ArrayListMultimap.create:()Lcom/google/common/collect/ArrayListMultimap;
            putfield org.jf.util.ClassFileNameHandler$DirectoryEntry.children:Lcom/google/common/collect/Multimap;
         5: .line 305
            return
        end local 3 // java.lang.String logicalName
        end local 2 // org.jf.util.ClassFileNameHandler$DirectoryEntry parent
        end local 0 // org.jf.util.ClassFileNameHandler$DirectoryEntry this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;
            0    6     2       parent  Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;
            0    6     3  logicalName  Ljava/lang/String;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER, location=[INNER_TYPE]
        javax.annotation.Nullable()
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nonnull()
    RuntimeVisibleParameterAnnotations: 
      0:
        javax.annotation.Nullable()
      1:
        javax.annotation.Nonnull()
      2:
    MethodParameters:
             Name  Flags
      this$0       final
      parent       
      logicalName  

  public synchronized org.jf.util.ClassFileNameHandler$FileSystemEntry addChild(org.jf.util.ClassFileNameHandler$FileSystemEntry);
    descriptor: (Lorg/jf/util/ClassFileNameHandler$FileSystemEntry;)Lorg/jf/util/ClassFileNameHandler$FileSystemEntry;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.jf.util.ClassFileNameHandler$DirectoryEntry this
        start local 1 // org.jf.util.ClassFileNameHandler$FileSystemEntry entry
         0: .line 308
            aload 1 /* entry */
            iconst_0
            invokevirtual org.jf.util.ClassFileNameHandler$FileSystemEntry.getNormalizedName:(Z)Ljava/lang/String;
            astore 2 /* normalizedChildName */
        start local 2 // java.lang.String normalizedChildName
         1: .line 309
            aload 0 /* this */
            getfield org.jf.util.ClassFileNameHandler$DirectoryEntry.children:Lcom/google/common/collect/Multimap;
            aload 2 /* normalizedChildName */
            invokeinterface com.google.common.collect.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
            astore 3 /* entries */
        start local 3 // java.util.Collection entries
         2: .line 310
            aload 1 /* entry */
            instanceof org.jf.util.ClassFileNameHandler$DirectoryEntry
            ifeq 8
         3: .line 311
            aload 3 /* entries */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: org.jf.util.ClassFileNameHandler$DirectoryEntry org.jf.util.ClassFileNameHandler$FileSystemEntry java.lang.String java.util.Collection top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jf.util.ClassFileNameHandler$FileSystemEntry
            astore 4 /* childEntry */
        start local 4 // org.jf.util.ClassFileNameHandler$FileSystemEntry childEntry
         5: .line 312
            aload 4 /* childEntry */
            getfield org.jf.util.ClassFileNameHandler$FileSystemEntry.logicalName:Ljava/lang/String;
            aload 1 /* entry */
            getfield org.jf.util.ClassFileNameHandler$FileSystemEntry.logicalName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 313
            aload 4 /* childEntry */
            areturn
        end local 4 // org.jf.util.ClassFileNameHandler$FileSystemEntry childEntry
         7: .line 311
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 317
      StackMap locals: org.jf.util.ClassFileNameHandler$DirectoryEntry org.jf.util.ClassFileNameHandler$FileSystemEntry java.lang.String java.util.Collection
      StackMap stack:
            aload 1 /* entry */
            aload 3 /* entries */
            invokeinterface java.util.Collection.size:()I
            invokevirtual org.jf.util.ClassFileNameHandler$FileSystemEntry.setSuffix:(I)V
         9: .line 318
            aload 3 /* entries */
            aload 1 /* entry */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        10: .line 319
            aload 1 /* entry */
            areturn
        end local 3 // java.util.Collection entries
        end local 2 // java.lang.String normalizedChildName
        end local 1 // org.jf.util.ClassFileNameHandler$FileSystemEntry entry
        end local 0 // org.jf.util.ClassFileNameHandler$DirectoryEntry this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   11     0                 this  Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;
            0   11     1                entry  Lorg/jf/util/ClassFileNameHandler$FileSystemEntry;
            1   11     2  normalizedChildName  Ljava/lang/String;
            2   11     3              entries  Ljava/util/Collection<Lorg/jf/util/ClassFileNameHandler$FileSystemEntry;>;
            5    7     4           childEntry  Lorg/jf/util/ClassFileNameHandler$FileSystemEntry;
    MethodParameters:
       Name  Flags
      entry  

  protected java.lang.String makePhysicalName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jf.util.ClassFileNameHandler$DirectoryEntry this
        start local 1 // int suffix
         0: .line 324
            iload 1 /* suffix */
            ifle 2
         1: .line 325
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            iconst_1
            invokevirtual org.jf.util.ClassFileNameHandler$DirectoryEntry.getNormalizedName:(Z)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* suffix */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 327
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual org.jf.util.ClassFileNameHandler$DirectoryEntry.getNormalizedName:(Z)Ljava/lang/String;
            areturn
        end local 1 // int suffix
        end local 0 // org.jf.util.ClassFileNameHandler$DirectoryEntry this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;
            0    3     1  suffix  I
    MethodParameters:
        Name  Flags
      suffix  

  public void setSuffix(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jf.util.ClassFileNameHandler$DirectoryEntry this
        start local 1 // int suffix
         0: .line 332
            aload 0 /* this */
            iload 1 /* suffix */
            invokespecial org.jf.util.ClassFileNameHandler$FileSystemEntry.setSuffix:(I)V
         1: .line 333
            aload 0 /* this */
            invokevirtual org.jf.util.ClassFileNameHandler$DirectoryEntry.getPhysicalName:()Ljava/lang/String;
            astore 2 /* physicalName */
        start local 2 // java.lang.String physicalName
         2: .line 334
            aload 0 /* this */
            getfield org.jf.util.ClassFileNameHandler$DirectoryEntry.parent:Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;
            ifnull 4
            aload 2 /* physicalName */
            ifnull 4
         3: .line 335
            aload 0 /* this */
            new java.io.File
            dup
            aload 0 /* this */
            getfield org.jf.util.ClassFileNameHandler$DirectoryEntry.parent:Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;
            getfield org.jf.util.ClassFileNameHandler$DirectoryEntry.file:Ljava/io/File;
            aload 2 /* physicalName */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            putfield org.jf.util.ClassFileNameHandler$DirectoryEntry.file:Ljava/io/File;
         4: .line 337
      StackMap locals: java.lang.String
      StackMap stack:
            return
        end local 2 // java.lang.String physicalName
        end local 1 // int suffix
        end local 0 // org.jf.util.ClassFileNameHandler$DirectoryEntry this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;
            0    5     1        suffix  I
            2    5     2  physicalName  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      suffix  

  protected boolean isCaseSensitive();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // org.jf.util.ClassFileNameHandler$DirectoryEntry this
         0: .line 340
            aload 0 /* this */
            invokevirtual org.jf.util.ClassFileNameHandler$DirectoryEntry.getPhysicalName:()Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield org.jf.util.ClassFileNameHandler$DirectoryEntry.file:Ljava/io/File;
            ifnonnull 2
         1: .line 341
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Must call setSuffix() first"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jf.util.ClassFileNameHandler$DirectoryEntry.caseSensitivity:I
            iconst_m1
            if_icmpeq 5
         3: .line 345
            aload 0 /* this */
            getfield org.jf.util.ClassFileNameHandler$DirectoryEntry.caseSensitivity:I
            iconst_1
            if_icmpne 4
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
         5: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jf.util.ClassFileNameHandler$DirectoryEntry.file:Ljava/io/File;
            astore 1 /* path */
        start local 1 // java.io.File path
         6: .line 349
            aload 1 /* path */
            invokevirtual java.io.File.exists:()Z
            ifeq 11
            aload 1 /* path */
            invokevirtual java.io.File.isFile:()Z
            ifeq 11
         7: .line 350
            aload 1 /* path */
            invokevirtual java.io.File.delete:()Z
            ifne 11
         8: .line 351
            new org.jf.util.ExceptionWithContext
            dup
            ldc "Can't delete %s to make it into a directory"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         9: .line 352
            aload 1 /* path */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
        10: .line 351
            aastore
            invokespecial org.jf.util.ExceptionWithContext.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        11: .line 356
      StackMap locals: java.io.File
      StackMap stack:
            aload 1 /* path */
            invokevirtual java.io.File.exists:()Z
            ifne 13
            aload 1 /* path */
            invokevirtual java.io.File.mkdirs:()Z
            ifne 13
        12: .line 357
            new org.jf.util.ExceptionWithContext
            dup
            ldc "Couldn't create directory %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* path */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            aastore
            invokespecial org.jf.util.ExceptionWithContext.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        13: .line 361
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* path */
            invokevirtual org.jf.util.ClassFileNameHandler$DirectoryEntry.testCaseSensitivity:(Ljava/io/File;)Z
            istore 2 /* result */
        start local 2 // boolean result
        14: .line 362
            aload 0 /* this */
            iload 2 /* result */
            ifeq 15
            iconst_1
            goto 16
      StackMap locals: org.jf.util.ClassFileNameHandler$DirectoryEntry java.io.File int
      StackMap stack: org.jf.util.ClassFileNameHandler$DirectoryEntry
        15: iconst_0
      StackMap locals: org.jf.util.ClassFileNameHandler$DirectoryEntry java.io.File int
      StackMap stack: org.jf.util.ClassFileNameHandler$DirectoryEntry int
        16: putfield org.jf.util.ClassFileNameHandler$DirectoryEntry.caseSensitivity:I
        17: .line 363
            iload 2 /* result */
        18: ireturn
        end local 2 // boolean result
        19: .line 364
      StackMap locals: org.jf.util.ClassFileNameHandler$DirectoryEntry java.io.File
      StackMap stack: java.io.IOException
            pop
        20: .line 365
            iconst_0
            ireturn
        end local 1 // java.io.File path
        end local 0 // org.jf.util.ClassFileNameHandler$DirectoryEntry this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0    this  Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;
            6   21     1    path  Ljava/io/File;
           14   19     2  result  Z
      Exception table:
        from    to  target  type
          13    18      19  Class java.io.IOException

  private boolean testCaseSensitivity(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // org.jf.util.ClassFileNameHandler$DirectoryEntry this
        start local 1 // java.io.File path
         0: .line 370
            iconst_1
            istore 2 /* num */
        start local 2 // int num
         1: .line 373
      StackMap locals: int
      StackMap stack:
            new java.io.File
            dup
            aload 1 /* path */
            new java.lang.StringBuilder
            dup
            ldc "test."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* num */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 3 /* f */
        start local 3 // java.io.File f
         2: .line 374
            new java.io.File
            dup
            aload 1 /* path */
            new java.lang.StringBuilder
            dup
            ldc "TEST."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* num */
            iinc 2 /* num */ 1
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 4 /* f2 */
        start local 4 // java.io.File f2
         3: .line 375
            aload 3 /* f */
            invokevirtual java.io.File.exists:()Z
            ifne 1
            aload 4 /* f2 */
            invokevirtual java.io.File.exists:()Z
            ifne 1
         4: .line 379
            new java.io.FileWriter
            dup
            aload 3 /* f */
            invokespecial java.io.FileWriter.<init>:(Ljava/io/File;)V
            astore 5 /* writer */
        start local 5 // java.io.FileWriter writer
         5: .line 380
            aload 5 /* writer */
            ldc "test"
            invokevirtual java.io.FileWriter.write:(Ljava/lang/String;)V
         6: .line 381
            aload 5 /* writer */
            invokevirtual java.io.FileWriter.flush:()V
         7: .line 382
            aload 5 /* writer */
            invokevirtual java.io.FileWriter.close:()V
        end local 5 // java.io.FileWriter writer
         8: .line 383
            goto 14
      StackMap locals: org.jf.util.ClassFileNameHandler$DirectoryEntry java.io.File int java.io.File java.io.File
      StackMap stack: java.io.IOException
         9: astore 5 /* ex */
        start local 5 // java.io.IOException ex
        10: .line 384
            aload 3 /* f */
            invokevirtual java.io.File.delete:()Z
            pop
        11: goto 13
      StackMap locals: org.jf.util.ClassFileNameHandler$DirectoryEntry java.io.File int java.io.File java.io.File java.io.IOException
      StackMap stack: java.lang.Exception
        12: pop
        13: .line 385
      StackMap locals:
      StackMap stack:
            aload 5 /* ex */
            athrow
        end local 5 // java.io.IOException ex
        14: .line 388
      StackMap locals:
      StackMap stack:
            aload 4 /* f2 */
            invokevirtual java.io.File.exists:()Z
            ifeq 22
        15: .line 418
            aload 3 /* f */
            invokevirtual java.io.File.delete:()Z
            pop
        16: goto 18
      StackMap locals:
      StackMap stack: java.lang.Exception
        17: pop
        18: .line 419
      StackMap locals:
      StackMap stack:
            aload 4 /* f2 */
            invokevirtual java.io.File.delete:()Z
            pop
        19: goto 21
      StackMap locals:
      StackMap stack: java.lang.Exception
        20: pop
        21: .line 389
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        22: .line 392
      StackMap locals:
      StackMap stack:
            aload 4 /* f2 */
            invokevirtual java.io.File.createNewFile:()Z
            ifeq 30
        23: .line 418
            aload 3 /* f */
            invokevirtual java.io.File.delete:()Z
            pop
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.Exception
        25: pop
        26: .line 419
      StackMap locals:
      StackMap stack:
            aload 4 /* f2 */
            invokevirtual java.io.File.delete:()Z
            pop
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.Exception
        28: pop
        29: .line 393
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        30: .line 400
      StackMap locals:
      StackMap stack:
            bipush 32
            invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
            astore 5 /* buf */
        start local 5 // java.nio.CharBuffer buf
        31: .line 401
            new java.io.FileReader
            dup
            aload 4 /* f2 */
            invokespecial java.io.FileReader.<init>:(Ljava/io/File;)V
            astore 6 /* reader */
        start local 6 // java.io.FileReader reader
        32: .line 403
      StackMap locals: java.nio.CharBuffer java.io.FileReader
      StackMap stack:
            aload 6 /* reader */
            aload 5 /* buf */
            invokevirtual java.io.FileReader.read:(Ljava/nio/CharBuffer;)I
            iconst_m1
            if_icmpeq 33
            aload 5 /* buf */
            invokevirtual java.nio.CharBuffer.length:()I
            iconst_4
            if_icmplt 32
        33: .line 404
      StackMap locals:
      StackMap stack:
            aload 5 /* buf */
            invokevirtual java.nio.CharBuffer.length:()I
            iconst_4
            if_icmpne 41
            aload 5 /* buf */
            invokevirtual java.nio.CharBuffer.toString:()Ljava/lang/String;
            ldc "test"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 41
        34: .line 418
            aload 3 /* f */
            invokevirtual java.io.File.delete:()Z
            pop
        35: goto 37
      StackMap locals:
      StackMap stack: java.lang.Exception
        36: pop
        37: .line 419
      StackMap locals:
      StackMap stack:
            aload 4 /* f2 */
            invokevirtual java.io.File.delete:()Z
            pop
        38: goto 40
      StackMap locals:
      StackMap stack: java.lang.Exception
        39: pop
        40: .line 405
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        41: .line 411
      StackMap locals:
      StackMap stack:
            getstatic org.jf.util.ClassFileNameHandler$DirectoryEntry.$assertionsDisabled:Z
            ifne 42
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        42: .line 418
      StackMap locals:
      StackMap stack:
            aload 3 /* f */
            invokevirtual java.io.File.delete:()Z
            pop
        43: goto 45
      StackMap locals:
      StackMap stack: java.lang.Exception
        44: pop
        45: .line 419
      StackMap locals:
      StackMap stack:
            aload 4 /* f2 */
            invokevirtual java.io.File.delete:()Z
            pop
        46: goto 48
      StackMap locals:
      StackMap stack: java.lang.Exception
        47: pop
        48: .line 412
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // java.io.FileReader reader
        end local 5 // java.nio.CharBuffer buf
        49: .line 414
      StackMap locals: org.jf.util.ClassFileNameHandler$DirectoryEntry java.io.File int java.io.File java.io.File
      StackMap stack: java.io.FileNotFoundException
            pop
        50: .line 418
            aload 3 /* f */
            invokevirtual java.io.File.delete:()Z
            pop
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.Exception
        52: pop
        53: .line 419
      StackMap locals:
      StackMap stack:
            aload 4 /* f2 */
            invokevirtual java.io.File.delete:()Z
            pop
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.Exception
        55: pop
        56: .line 415
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        57: .line 417
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        58: .line 418
            aload 3 /* f */
            invokevirtual java.io.File.delete:()Z
            pop
        59: goto 61
      StackMap locals: org.jf.util.ClassFileNameHandler$DirectoryEntry java.io.File int java.io.File java.io.File top top java.lang.Throwable
      StackMap stack: java.lang.Exception
        60: pop
        61: .line 419
      StackMap locals:
      StackMap stack:
            aload 4 /* f2 */
            invokevirtual java.io.File.delete:()Z
            pop
        62: goto 64
      StackMap locals:
      StackMap stack: java.lang.Exception
        63: pop
        64: .line 420
      StackMap locals:
      StackMap stack:
            aload 7
            athrow
        end local 4 // java.io.File f2
        end local 3 // java.io.File f
        end local 2 // int num
        end local 1 // java.io.File path
        end local 0 // org.jf.util.ClassFileNameHandler$DirectoryEntry this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   65     0    this  Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;
            0   65     1    path  Ljava/io/File;
            1   65     2     num  I
            2   65     3       f  Ljava/io/File;
            3   65     4      f2  Ljava/io/File;
            5    8     5  writer  Ljava/io/FileWriter;
           10   14     5      ex  Ljava/io/IOException;
           31   49     5     buf  Ljava/nio/CharBuffer;
           32   49     6  reader  Ljava/io/FileReader;
      Exception table:
        from    to  target  type
           4     8       9  Class java.io.IOException
          10    11      12  Class java.lang.Exception
          15    16      17  Class java.lang.Exception
          18    19      20  Class java.lang.Exception
          23    24      25  Class java.lang.Exception
          26    27      28  Class java.lang.Exception
          34    35      36  Class java.lang.Exception
          37    38      39  Class java.lang.Exception
          42    43      44  Class java.lang.Exception
          45    46      47  Class java.lang.Exception
          30    34      49  Class java.io.FileNotFoundException
          41    42      49  Class java.io.FileNotFoundException
          50    51      52  Class java.lang.Exception
          53    54      55  Class java.lang.Exception
           4    15      57  any
          22    23      57  any
          30    34      57  any
          41    42      57  any
          49    50      57  any
          58    59      60  Class java.lang.Exception
          61    62      63  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      path  
}
SourceFile: "ClassFileNameHandler.java"
NestHost: org.jf.util.ClassFileNameHandler
InnerClasses:
  private DirectoryEntry = org.jf.util.ClassFileNameHandler$DirectoryEntry of org.jf.util.ClassFileNameHandler
  private abstract FileSystemEntry = org.jf.util.ClassFileNameHandler$FileSystemEntry of org.jf.util.ClassFileNameHandler