public final class com.sun.codemodel.internal.JFormatter
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.codemodel.internal.JFormatter
  super_class: java.lang.Object
{
  private java.util.HashMap<java.lang.String, com.sun.codemodel.internal.JFormatter$ReferenceList> collectedReferences;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lcom/sun/codemodel/internal/JFormatter$ReferenceList;>;

  private java.util.HashSet<com.sun.codemodel.internal.JClass> importedClasses;
    descriptor: Ljava/util/HashSet;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashSet<Lcom/sun/codemodel/internal/JClass;>;

  private com.sun.codemodel.internal.JFormatter$Mode mode;
    descriptor: Lcom/sun/codemodel/internal/JFormatter$Mode;
    flags: (0x0002) ACC_PRIVATE

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

  private final java.lang.String indentSpace;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.PrintWriter pw;
    descriptor: Ljava/io/PrintWriter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private char lastChar;
    descriptor: C
    flags: (0x0002) ACC_PRIVATE

  private boolean atBeginningOfLine;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private com.sun.codemodel.internal.JPackage javaLang;
    descriptor: Lcom/sun/codemodel/internal/JPackage;
    flags: (0x0002) ACC_PRIVATE

  static final char CLOSE_TYPE_ARGS;
    descriptor: C
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 65535

  private static volatile int[] $SWITCH_TABLE$com$sun$codemodel$internal$JFormatter$Mode;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, 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 43
            ldc Lcom/sun/codemodel/internal/JFormatter;
            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 com.sun.codemodel.internal.JFormatter.$assertionsDisabled:Z
         3: .line 481
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.io.PrintWriter, java.lang.String);
    descriptor: (Ljava/io/PrintWriter;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.codemodel.internal.JFormatter this
        start local 1 // java.io.PrintWriter s
        start local 2 // java.lang.String space
         0: .line 94
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 67
            aload 0 /* this */
            getstatic com.sun.codemodel.internal.JFormatter$Mode.PRINTING:Lcom/sun/codemodel/internal/JFormatter$Mode;
            putfield com.sun.codemodel.internal.JFormatter.mode:Lcom/sun/codemodel/internal/JFormatter$Mode;
         2: .line 198
            aload 0 /* this */
            iconst_0
            putfield com.sun.codemodel.internal.JFormatter.lastChar:C
         3: .line 199
            aload 0 /* this */
            iconst_1
            putfield com.sun.codemodel.internal.JFormatter.atBeginningOfLine:Z
         4: .line 95
            aload 0 /* this */
            aload 1 /* s */
            putfield com.sun.codemodel.internal.JFormatter.pw:Ljava/io/PrintWriter;
         5: .line 96
            aload 0 /* this */
            aload 2 /* space */
            putfield com.sun.codemodel.internal.JFormatter.indentSpace:Ljava/lang/String;
         6: .line 97
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.codemodel.internal.JFormatter.collectedReferences:Ljava/util/HashMap;
         7: .line 99
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield com.sun.codemodel.internal.JFormatter.importedClasses:Ljava/util/HashSet;
         8: .line 100
            return
        end local 2 // java.lang.String space
        end local 1 // java.io.PrintWriter s
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lcom/sun/codemodel/internal/JFormatter;
            0    9     1      s  Ljava/io/PrintWriter;
            0    9     2  space  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      s      
      space  

  public void <init>(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JFormatter this
        start local 1 // java.io.PrintWriter s
         0: .line 107
            aload 0 /* this */
            aload 1 /* s */
            ldc "    "
            invokespecial com.sun.codemodel.internal.JFormatter.<init>:(Ljava/io/PrintWriter;Ljava/lang/String;)V
         1: .line 108
            return
        end local 1 // java.io.PrintWriter s
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/codemodel/internal/JFormatter;
            0    2     1     s  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      s     

  public void <init>(java.io.Writer);
    descriptor: (Ljava/io/Writer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JFormatter this
        start local 1 // java.io.Writer w
         0: .line 115
            aload 0 /* this */
            new java.io.PrintWriter
            dup
            aload 1 /* w */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            invokespecial com.sun.codemodel.internal.JFormatter.<init>:(Ljava/io/PrintWriter;)V
         1: .line 116
            return
        end local 1 // java.io.Writer w
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/codemodel/internal/JFormatter;
            0    2     1     w  Ljava/io/Writer;
    MethodParameters:
      Name  Flags
      w     

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JFormatter this
         0: .line 122
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.pw:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.close:()V
         1: .line 123
            return
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/codemodel/internal/JFormatter;

  public boolean isPrinting();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JFormatter this
         0: .line 132
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.mode:Lcom/sun/codemodel/internal/JFormatter$Mode;
            getstatic com.sun.codemodel.internal.JFormatter$Mode.PRINTING:Lcom/sun/codemodel/internal/JFormatter$Mode;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/codemodel/internal/JFormatter;

  public com.sun.codemodel.internal.JFormatter o();
    descriptor: ()Lcom/sun/codemodel/internal/JFormatter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JFormatter this
         0: .line 139
            aload 0 /* this */
            dup
            getfield com.sun.codemodel.internal.JFormatter.indentLevel:I
            iconst_1
            isub
            putfield com.sun.codemodel.internal.JFormatter.indentLevel:I
         1: .line 140
            aload 0 /* this */
            areturn
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/codemodel/internal/JFormatter;

  public com.sun.codemodel.internal.JFormatter i();
    descriptor: ()Lcom/sun/codemodel/internal/JFormatter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JFormatter this
         0: .line 147
            aload 0 /* this */
            dup
            getfield com.sun.codemodel.internal.JFormatter.indentLevel:I
            iconst_1
            iadd
            putfield com.sun.codemodel.internal.JFormatter.indentLevel:I
         1: .line 148
            aload 0 /* this */
            areturn
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/codemodel/internal/JFormatter;

  private boolean needSpace(char, char);
    descriptor: (CC)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.codemodel.internal.JFormatter this
        start local 1 // char c1
        start local 2 // char c2
         0: .line 152
            iload 1 /* c1 */
            bipush 93
            if_icmpne 1
            iload 2 /* c2 */
            bipush 123
            if_icmpne 1
            iconst_1
            ireturn
         1: .line 153
      StackMap locals:
      StackMap stack:
            iload 1 /* c1 */
            bipush 59
            if_icmpne 2
            iconst_1
            ireturn
         2: .line 154
      StackMap locals:
      StackMap stack:
            iload 1 /* c1 */
            ldc 65535
            if_icmpne 6
         3: .line 156
            iload 2 /* c2 */
            bipush 40
            if_icmpne 5
         4: .line 157
            iconst_0
            ireturn
         5: .line 158
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         6: .line 160
      StackMap locals:
      StackMap stack:
            iload 1 /* c1 */
            bipush 41
            if_icmpne 7
            iload 2 /* c2 */
            bipush 123
            if_icmpne 7
            iconst_1
            ireturn
         7: .line 161
      StackMap locals:
      StackMap stack:
            iload 1 /* c1 */
            bipush 44
            if_icmpeq 8
            iload 1 /* c1 */
            bipush 61
            if_icmpne 9
      StackMap locals:
      StackMap stack:
         8: iconst_1
            ireturn
         9: .line 162
      StackMap locals:
      StackMap stack:
            iload 2 /* c2 */
            bipush 61
            if_icmpne 10
            iconst_1
            ireturn
        10: .line 163
      StackMap locals:
      StackMap stack:
            iload 1 /* c1 */
            invokestatic java.lang.Character.isDigit:(C)Z
            ifeq 14
        11: .line 164
            iload 2 /* c2 */
            bipush 40
            if_icmpeq 12
            iload 2 /* c2 */
            bipush 41
            if_icmpeq 12
            iload 2 /* c2 */
            bipush 59
            if_icmpeq 12
            iload 2 /* c2 */
            bipush 44
            if_icmpne 13
        12: .line 165
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        13: .line 166
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        14: .line 168
      StackMap locals:
      StackMap stack:
            iload 1 /* c1 */
            invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
            ifeq 18
        15: .line 169
            iload 2 /* c2 */
            lookupswitch { // 5
                   43: 16
                   62: 16
                   64: 16
                  123: 16
                  125: 16
              default: 17
          }
        16: .line 175
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        17: .line 177
      StackMap locals:
      StackMap stack:
            iload 2 /* c2 */
            invokestatic java.lang.Character.isJavaIdentifierStart:(C)Z
            ireturn
        18: .line 180
      StackMap locals:
      StackMap stack:
            iload 2 /* c2 */
            invokestatic java.lang.Character.isJavaIdentifierStart:(C)Z
            ifeq 22
        19: .line 181
            iload 1 /* c1 */
            lookupswitch { // 4
                   41: 20
                   43: 20
                   93: 20
                  125: 20
              default: 21
          }
        20: .line 186
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        21: .line 188
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        22: .line 191
      StackMap locals:
      StackMap stack:
            iload 2 /* c2 */
            invokestatic java.lang.Character.isDigit:(C)Z
            ifeq 25
        23: .line 192
            iload 1 /* c1 */
            bipush 40
            if_icmpne 24
            iconst_0
            ireturn
        24: .line 193
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        25: .line 195
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // char c2
        end local 1 // char c1
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   26     0  this  Lcom/sun/codemodel/internal/JFormatter;
            0   26     1    c1  C
            0   26     2    c2  C
    MethodParameters:
      Name  Flags
      c1    
      c2    

  private void spaceIfNeeded(char);
    descriptor: (C)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.codemodel.internal.JFormatter this
        start local 1 // char c
         0: .line 202
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.atBeginningOfLine:Z
            ifeq 8
         1: .line 203
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 204
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.pw:Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.indentSpace:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         4: .line 203
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.indentLevel:I
            if_icmplt 3
        end local 2 // int i
         6: .line 205
            aload 0 /* this */
            iconst_0
            putfield com.sun.codemodel.internal.JFormatter.atBeginningOfLine:Z
         7: .line 206
            goto 10
      StackMap locals:
      StackMap stack:
         8: aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.lastChar:C
            ifeq 10
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.lastChar:C
            iload 1 /* c */
            invokevirtual com.sun.codemodel.internal.JFormatter.needSpace:(CC)Z
            ifeq 10
         9: .line 207
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.pw:Ljava/io/PrintWriter;
            bipush 32
            invokevirtual java.io.PrintWriter.print:(C)V
        10: .line 208
      StackMap locals:
      StackMap stack:
            return
        end local 1 // char c
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/sun/codemodel/internal/JFormatter;
            0   11     1     c  C
            2    6     2     i  I
    MethodParameters:
      Name  Flags
      c     

  public com.sun.codemodel.internal.JFormatter p(char);
    descriptor: (C)Lcom/sun/codemodel/internal/JFormatter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JFormatter this
        start local 1 // char c
         0: .line 216
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.mode:Lcom/sun/codemodel/internal/JFormatter$Mode;
            getstatic com.sun.codemodel.internal.JFormatter$Mode.PRINTING:Lcom/sun/codemodel/internal/JFormatter$Mode;
            if_acmpne 7
         1: .line 217
            iload 1 /* c */
            ldc 65535
            if_icmpne 4
         2: .line 218
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.pw:Ljava/io/PrintWriter;
            bipush 62
            invokevirtual java.io.PrintWriter.print:(C)V
         3: .line 219
            goto 6
         4: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* c */
            invokevirtual com.sun.codemodel.internal.JFormatter.spaceIfNeeded:(C)V
         5: .line 221
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.pw:Ljava/io/PrintWriter;
            iload 1 /* c */
            invokevirtual java.io.PrintWriter.print:(C)V
         6: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* c */
            putfield com.sun.codemodel.internal.JFormatter.lastChar:C
         7: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // char c
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/codemodel/internal/JFormatter;
            0    8     1     c  C
    MethodParameters:
      Name  Flags
      c     

  public com.sun.codemodel.internal.JFormatter p(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/codemodel/internal/JFormatter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JFormatter this
        start local 1 // java.lang.String s
         0: .line 234
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.mode:Lcom/sun/codemodel/internal/JFormatter$Mode;
            getstatic com.sun.codemodel.internal.JFormatter$Mode.PRINTING:Lcom/sun/codemodel/internal/JFormatter$Mode;
            if_acmpne 4
         1: .line 235
            aload 0 /* this */
            aload 1 /* s */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual com.sun.codemodel.internal.JFormatter.spaceIfNeeded:(C)V
         2: .line 236
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.pw:Ljava/io/PrintWriter;
            aload 1 /* s */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         3: .line 237
            aload 0 /* this */
            aload 1 /* s */
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            putfield com.sun.codemodel.internal.JFormatter.lastChar:C
         4: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String s
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/codemodel/internal/JFormatter;
            0    5     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public com.sun.codemodel.internal.JFormatter t(com.sun.codemodel.internal.JType);
    descriptor: (Lcom/sun/codemodel/internal/JType;)Lcom/sun/codemodel/internal/JFormatter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JFormatter this
        start local 1 // com.sun.codemodel.internal.JType type
         0: .line 243
            aload 1 /* type */
            invokevirtual com.sun.codemodel.internal.JType.isReference:()Z
            ifeq 2
         1: .line 244
            aload 0 /* this */
            aload 1 /* type */
            checkcast com.sun.codemodel.internal.JClass
            invokevirtual com.sun.codemodel.internal.JFormatter.t:(Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JFormatter;
            areturn
         2: .line 246
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual com.sun.codemodel.internal.JFormatter.g:(Lcom/sun/codemodel/internal/JGenerable;)Lcom/sun/codemodel/internal/JFormatter;
            areturn
        end local 1 // com.sun.codemodel.internal.JType type
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/codemodel/internal/JFormatter;
            0    3     1  type  Lcom/sun/codemodel/internal/JType;
    MethodParameters:
      Name  Flags
      type  

  public com.sun.codemodel.internal.JFormatter t(com.sun.codemodel.internal.JClass);
    descriptor: (Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JFormatter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.codemodel.internal.JFormatter this
        start local 1 // com.sun.codemodel.internal.JClass type
         0: .line 258
            invokestatic com.sun.codemodel.internal.JFormatter.$SWITCH_TABLE$com$sun$codemodel$internal$JFormatter$Mode:()[I
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.mode:Lcom/sun/codemodel/internal/JFormatter$Mode;
            invokevirtual com.sun.codemodel.internal.JFormatter$Mode.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 8
                    2: 1
              default: 15
          }
         1: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.importedClasses:Ljava/util/HashSet;
            aload 1 /* type */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 263
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual com.sun.codemodel.internal.JClass.name:()Ljava/lang/String;
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFormatter;
            pop
         3: .line 264
            goto 15
         4: .line 265
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokevirtual com.sun.codemodel.internal.JClass.outer:()Lcom/sun/codemodel/internal/JClass;
            ifnull 6
         5: .line 266
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual com.sun.codemodel.internal.JClass.outer:()Lcom/sun/codemodel/internal/JClass;
            invokevirtual com.sun.codemodel.internal.JFormatter.t:(Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JFormatter;
            bipush 46
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(C)Lcom/sun/codemodel/internal/JFormatter;
            aload 1 /* type */
            invokevirtual com.sun.codemodel.internal.JClass.name:()Ljava/lang/String;
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFormatter;
            pop
            goto 15
         6: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual com.sun.codemodel.internal.JClass.fullName:()Ljava/lang/String;
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFormatter;
            pop
         7: .line 270
            goto 15
         8: .line 272
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokevirtual com.sun.codemodel.internal.JClass.name:()Ljava/lang/String;
            astore 2 /* shortName */
        start local 2 // java.lang.String shortName
         9: .line 273
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.collectedReferences:Ljava/util/HashMap;
            aload 2 /* shortName */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 274
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.collectedReferences:Ljava/util/HashMap;
            aload 2 /* shortName */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JFormatter$ReferenceList
            aload 1 /* type */
            invokevirtual com.sun.codemodel.internal.JFormatter$ReferenceList.add:(Lcom/sun/codemodel/internal/JClass;)V
        11: .line 275
            goto 15
        12: .line 276
      StackMap locals: java.lang.String
      StackMap stack:
            new com.sun.codemodel.internal.JFormatter$ReferenceList
            dup
            aload 0 /* this */
            invokespecial com.sun.codemodel.internal.JFormatter$ReferenceList.<init>:(Lcom/sun/codemodel/internal/JFormatter;)V
            astore 3 /* tl */
        start local 3 // com.sun.codemodel.internal.JFormatter$ReferenceList tl
        13: .line 277
            aload 3 /* tl */
            aload 1 /* type */
            invokevirtual com.sun.codemodel.internal.JFormatter$ReferenceList.add:(Lcom/sun/codemodel/internal/JClass;)V
        14: .line 278
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.collectedReferences:Ljava/util/HashMap;
            aload 2 /* shortName */
            aload 3 /* tl */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // com.sun.codemodel.internal.JFormatter$ReferenceList tl
        end local 2 // java.lang.String shortName
        15: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // com.sun.codemodel.internal.JClass type
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lcom/sun/codemodel/internal/JFormatter;
            0   16     1       type  Lcom/sun/codemodel/internal/JClass;
            9   15     2  shortName  Ljava/lang/String;
           13   15     3         tl  Lcom/sun/codemodel/internal/JFormatter$ReferenceList;
    MethodParameters:
      Name  Flags
      type  

  public com.sun.codemodel.internal.JFormatter id(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/codemodel/internal/JFormatter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.codemodel.internal.JFormatter this
        start local 1 // java.lang.String id
         0: .line 289
            invokestatic com.sun.codemodel.internal.JFormatter.$SWITCH_TABLE$com$sun$codemodel$internal$JFormatter$Mode:()[I
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.mode:Lcom/sun/codemodel/internal/JFormatter$Mode;
            invokevirtual com.sun.codemodel.internal.JFormatter$Mode.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 3
                    2: 1
              default: 16
          }
         1: .line 291
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFormatter;
            pop
         2: .line 292
            goto 16
         3: .line 295
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.collectedReferences:Ljava/util/HashMap;
            aload 1 /* id */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 13
         4: .line 296
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.collectedReferences:Ljava/util/HashMap;
            aload 1 /* id */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JFormatter$ReferenceList
            invokevirtual com.sun.codemodel.internal.JFormatter$ReferenceList.getClasses:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 11
         5: .line 297
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.collectedReferences:Ljava/util/HashMap;
            aload 1 /* id */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JFormatter$ReferenceList
            invokevirtual com.sun.codemodel.internal.JFormatter$ReferenceList.getClasses:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 10
      StackMap locals: com.sun.codemodel.internal.JFormatter java.lang.String top java.util.Iterator
      StackMap stack:
         6: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JClass
            astore 2 /* type */
        start local 2 // com.sun.codemodel.internal.JClass type
         7: .line 298
            aload 2 /* type */
            invokevirtual com.sun.codemodel.internal.JClass.outer:()Lcom/sun/codemodel/internal/JClass;
            ifnull 10
         8: .line 299
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.collectedReferences:Ljava/util/HashMap;
            aload 1 /* id */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JFormatter$ReferenceList
            iconst_0
            invokevirtual com.sun.codemodel.internal.JFormatter$ReferenceList.setId:(Z)V
         9: .line 300
            aload 0 /* this */
            areturn
        end local 2 // com.sun.codemodel.internal.JClass type
        10: .line 297
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        11: .line 304
      StackMap locals: com.sun.codemodel.internal.JFormatter java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.collectedReferences:Ljava/util/HashMap;
            aload 1 /* id */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JFormatter$ReferenceList
            iconst_1
            invokevirtual com.sun.codemodel.internal.JFormatter$ReferenceList.setId:(Z)V
        12: .line 305
            goto 16
        13: .line 308
      StackMap locals:
      StackMap stack:
            new com.sun.codemodel.internal.JFormatter$ReferenceList
            dup
            aload 0 /* this */
            invokespecial com.sun.codemodel.internal.JFormatter$ReferenceList.<init>:(Lcom/sun/codemodel/internal/JFormatter;)V
            astore 2 /* tl */
        start local 2 // com.sun.codemodel.internal.JFormatter$ReferenceList tl
        14: .line 309
            aload 2 /* tl */
            iconst_1
            invokevirtual com.sun.codemodel.internal.JFormatter$ReferenceList.setId:(Z)V
        15: .line 310
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.collectedReferences:Ljava/util/HashMap;
            aload 1 /* id */
            aload 2 /* tl */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // com.sun.codemodel.internal.JFormatter$ReferenceList tl
        16: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String id
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lcom/sun/codemodel/internal/JFormatter;
            0   17     1    id  Ljava/lang/String;
            7   10     2  type  Lcom/sun/codemodel/internal/JClass;
           14   16     2    tl  Lcom/sun/codemodel/internal/JFormatter$ReferenceList;
    MethodParameters:
      Name  Flags
      id    

  public com.sun.codemodel.internal.JFormatter nl();
    descriptor: ()Lcom/sun/codemodel/internal/JFormatter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JFormatter this
         0: .line 321
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.mode:Lcom/sun/codemodel/internal/JFormatter$Mode;
            getstatic com.sun.codemodel.internal.JFormatter$Mode.PRINTING:Lcom/sun/codemodel/internal/JFormatter$Mode;
            if_acmpne 4
         1: .line 322
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.pw:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.println:()V
         2: .line 323
            aload 0 /* this */
            iconst_0
            putfield com.sun.codemodel.internal.JFormatter.lastChar:C
         3: .line 324
            aload 0 /* this */
            iconst_1
            putfield com.sun.codemodel.internal.JFormatter.atBeginningOfLine:Z
         4: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/codemodel/internal/JFormatter;

  public com.sun.codemodel.internal.JFormatter g(com.sun.codemodel.internal.JGenerable);
    descriptor: (Lcom/sun/codemodel/internal/JGenerable;)Lcom/sun/codemodel/internal/JFormatter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JFormatter this
        start local 1 // com.sun.codemodel.internal.JGenerable g
         0: .line 335
            aload 1 /* g */
            aload 0 /* this */
            invokeinterface com.sun.codemodel.internal.JGenerable.generate:(Lcom/sun/codemodel/internal/JFormatter;)V
         1: .line 336
            aload 0 /* this */
            areturn
        end local 1 // com.sun.codemodel.internal.JGenerable g
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/codemodel/internal/JFormatter;
            0    2     1     g  Lcom/sun/codemodel/internal/JGenerable;
    MethodParameters:
      Name  Flags
      g     

  public com.sun.codemodel.internal.JFormatter g(java.util.Collection<? extends com.sun.codemodel.internal.JGenerable>);
    descriptor: (Ljava/util/Collection;)Lcom/sun/codemodel/internal/JFormatter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.sun.codemodel.internal.JFormatter this
        start local 1 // java.util.Collection list
         0: .line 343
            iconst_1
            istore 2 /* first */
        start local 2 // boolean first
         1: .line 344
            aload 1 /* list */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 9
         2: .line 345
            aload 1 /* list */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: com.sun.codemodel.internal.JFormatter java.util.Collection int top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JGenerable
            astore 3 /* item */
        start local 3 // com.sun.codemodel.internal.JGenerable item
         4: .line 346
            iload 2 /* first */
            ifne 6
         5: .line 347
            aload 0 /* this */
            bipush 44
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(C)Lcom/sun/codemodel/internal/JFormatter;
            pop
         6: .line 348
      StackMap locals: com.sun.codemodel.internal.JFormatter java.util.Collection int com.sun.codemodel.internal.JGenerable java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 3 /* item */
            invokevirtual com.sun.codemodel.internal.JFormatter.g:(Lcom/sun/codemodel/internal/JGenerable;)Lcom/sun/codemodel/internal/JFormatter;
            pop
         7: .line 349
            iconst_0
            istore 2 /* first */
        end local 3 // com.sun.codemodel.internal.JGenerable item
         8: .line 345
      StackMap locals: com.sun.codemodel.internal.JFormatter java.util.Collection int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 352
      StackMap locals: com.sun.codemodel.internal.JFormatter java.util.Collection int
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // boolean first
        end local 1 // java.util.Collection list
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/sun/codemodel/internal/JFormatter;
            0   10     1   list  Ljava/util/Collection<+Lcom/sun/codemodel/internal/JGenerable;>;
            1   10     2  first  Z
            4    8     3   item  Lcom/sun/codemodel/internal/JGenerable;
    Signature: (Ljava/util/Collection<+Lcom/sun/codemodel/internal/JGenerable;>;)Lcom/sun/codemodel/internal/JFormatter;
    MethodParameters:
      Name  Flags
      list  

  public com.sun.codemodel.internal.JFormatter d(com.sun.codemodel.internal.JDeclaration);
    descriptor: (Lcom/sun/codemodel/internal/JDeclaration;)Lcom/sun/codemodel/internal/JFormatter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JFormatter this
        start local 1 // com.sun.codemodel.internal.JDeclaration d
         0: .line 361
            aload 1 /* d */
            aload 0 /* this */
            invokeinterface com.sun.codemodel.internal.JDeclaration.declare:(Lcom/sun/codemodel/internal/JFormatter;)V
         1: .line 362
            aload 0 /* this */
            areturn
        end local 1 // com.sun.codemodel.internal.JDeclaration d
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/codemodel/internal/JFormatter;
            0    2     1     d  Lcom/sun/codemodel/internal/JDeclaration;
    MethodParameters:
      Name  Flags
      d     

  public com.sun.codemodel.internal.JFormatter s(com.sun.codemodel.internal.JStatement);
    descriptor: (Lcom/sun/codemodel/internal/JStatement;)Lcom/sun/codemodel/internal/JFormatter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JFormatter this
        start local 1 // com.sun.codemodel.internal.JStatement s
         0: .line 371
            aload 1 /* s */
            aload 0 /* this */
            invokeinterface com.sun.codemodel.internal.JStatement.state:(Lcom/sun/codemodel/internal/JFormatter;)V
         1: .line 372
            aload 0 /* this */
            areturn
        end local 1 // com.sun.codemodel.internal.JStatement s
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/codemodel/internal/JFormatter;
            0    2     1     s  Lcom/sun/codemodel/internal/JStatement;
    MethodParameters:
      Name  Flags
      s     

  public com.sun.codemodel.internal.JFormatter b(com.sun.codemodel.internal.JVar);
    descriptor: (Lcom/sun/codemodel/internal/JVar;)Lcom/sun/codemodel/internal/JFormatter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JFormatter this
        start local 1 // com.sun.codemodel.internal.JVar v
         0: .line 381
            aload 1 /* v */
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JVar.bind:(Lcom/sun/codemodel/internal/JFormatter;)V
         1: .line 382
            aload 0 /* this */
            areturn
        end local 1 // com.sun.codemodel.internal.JVar v
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/codemodel/internal/JFormatter;
            0    2     1     v  Lcom/sun/codemodel/internal/JVar;
    MethodParameters:
      Name  Flags
      v     

  void write(com.sun.codemodel.internal.JDefinedClass);
    descriptor: (Lcom/sun/codemodel/internal/JDefinedClass;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // com.sun.codemodel.internal.JFormatter this
        start local 1 // com.sun.codemodel.internal.JDefinedClass c
         0: .line 390
            aload 0 /* this */
            getstatic com.sun.codemodel.internal.JFormatter$Mode.COLLECTING:Lcom/sun/codemodel/internal/JFormatter$Mode;
            putfield com.sun.codemodel.internal.JFormatter.mode:Lcom/sun/codemodel/internal/JFormatter$Mode;
         1: .line 391
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual com.sun.codemodel.internal.JFormatter.d:(Lcom/sun/codemodel/internal/JDeclaration;)Lcom/sun/codemodel/internal/JFormatter;
            pop
         2: .line 393
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.owner:()Lcom/sun/codemodel/internal/JCodeModel;
            ldc "java.lang"
            invokevirtual com.sun.codemodel.internal.JCodeModel._package:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JPackage;
            putfield com.sun.codemodel.internal.JFormatter.javaLang:Lcom/sun/codemodel/internal/JPackage;
         3: .line 396
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.collectedReferences:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: com.sun.codemodel.internal.JFormatter com.sun.codemodel.internal.JDefinedClass top java.util.Iterator
      StackMap stack:
         4: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JFormatter$ReferenceList
            astore 2 /* tl */
        start local 2 // com.sun.codemodel.internal.JFormatter$ReferenceList tl
         5: .line 397
            aload 2 /* tl */
            aload 1 /* c */
            invokevirtual com.sun.codemodel.internal.JFormatter$ReferenceList.collisions:(Lcom/sun/codemodel/internal/JDefinedClass;)Z
            ifne 8
            aload 2 /* tl */
            invokevirtual com.sun.codemodel.internal.JFormatter$ReferenceList.isId:()Z
            ifne 8
         6: .line 398
            getstatic com.sun.codemodel.internal.JFormatter.$assertionsDisabled:Z
            ifne 7
            aload 2 /* tl */
            invokevirtual com.sun.codemodel.internal.JFormatter$ReferenceList.getClasses:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 401
      StackMap locals: com.sun.codemodel.internal.JFormatter com.sun.codemodel.internal.JDefinedClass com.sun.codemodel.internal.JFormatter$ReferenceList java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.importedClasses:Ljava/util/HashSet;
            aload 2 /* tl */
            invokevirtual com.sun.codemodel.internal.JFormatter$ReferenceList.getClasses:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JClass
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // com.sun.codemodel.internal.JFormatter$ReferenceList tl
         8: .line 396
      StackMap locals: com.sun.codemodel.internal.JFormatter com.sun.codemodel.internal.JDefinedClass top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 406
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.importedClasses:Ljava/util/HashSet;
            aload 1 /* c */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        10: .line 409
            aload 0 /* this */
            getstatic com.sun.codemodel.internal.JFormatter$Mode.PRINTING:Lcom/sun/codemodel/internal/JFormatter$Mode;
            putfield com.sun.codemodel.internal.JFormatter.mode:Lcom/sun/codemodel/internal/JFormatter$Mode;
        11: .line 411
            getstatic com.sun.codemodel.internal.JFormatter.$assertionsDisabled:Z
            ifne 12
            aload 1 /* c */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.parentContainer:()Lcom/sun/codemodel/internal/JClassContainer;
            invokeinterface com.sun.codemodel.internal.JClassContainer.isPackage:()Z
            ifne 12
            new java.lang.AssertionError
            dup
            ldc "this method is only for a pacakge-level class"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 412
      StackMap locals: com.sun.codemodel.internal.JFormatter com.sun.codemodel.internal.JDefinedClass
      StackMap stack:
            aload 1 /* c */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.parentContainer:()Lcom/sun/codemodel/internal/JClassContainer;
            checkcast com.sun.codemodel.internal.JPackage
            astore 2 /* pkg */
        start local 2 // com.sun.codemodel.internal.JPackage pkg
        13: .line 413
            aload 2 /* pkg */
            invokevirtual com.sun.codemodel.internal.JPackage.isUnnamed:()Z
            ifne 16
        14: .line 414
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            aload 2 /* pkg */
            invokevirtual com.sun.codemodel.internal.JFormatter.d:(Lcom/sun/codemodel/internal/JDeclaration;)Lcom/sun/codemodel/internal/JFormatter;
            pop
        15: .line 415
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            pop
        16: .line 419
      StackMap locals: com.sun.codemodel.internal.JPackage
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.importedClasses:Ljava/util/HashSet;
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFormatter.importedClasses:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.size:()I
            anewarray com.sun.codemodel.internal.JClass
            invokevirtual java.util.HashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JClass[]
            astore 3 /* imports */
        start local 3 // com.sun.codemodel.internal.JClass[] imports
        17: .line 420
            aload 3 /* imports */
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
        18: .line 421
            aload 3 /* imports */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 25
      StackMap locals: com.sun.codemodel.internal.JFormatter com.sun.codemodel.internal.JDefinedClass com.sun.codemodel.internal.JPackage com.sun.codemodel.internal.JClass[] top int int com.sun.codemodel.internal.JClass[]
      StackMap stack:
        19: aload 7
            iload 5
            aaload
            astore 4 /* clazz */
        start local 4 // com.sun.codemodel.internal.JClass clazz
        20: .line 425
            aload 0 /* this */
            aload 4 /* clazz */
            aload 1 /* c */
            invokevirtual com.sun.codemodel.internal.JFormatter.supressImport:(Lcom/sun/codemodel/internal/JClass;Lcom/sun/codemodel/internal/JClass;)Z
            ifne 24
        21: .line 426
            aload 4 /* clazz */
            instanceof com.sun.codemodel.internal.JNarrowedClass
            ifeq 23
        22: .line 427
            aload 4 /* clazz */
            invokevirtual com.sun.codemodel.internal.JClass.erasure:()Lcom/sun/codemodel/internal/JClass;
            astore 4 /* clazz */
        23: .line 430
      StackMap locals: com.sun.codemodel.internal.JFormatter com.sun.codemodel.internal.JDefinedClass com.sun.codemodel.internal.JPackage com.sun.codemodel.internal.JClass[] com.sun.codemodel.internal.JClass int int com.sun.codemodel.internal.JClass[]
      StackMap stack:
            aload 0 /* this */
            ldc "import"
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFormatter;
            aload 4 /* clazz */
            invokevirtual com.sun.codemodel.internal.JClass.fullName:()Ljava/lang/String;
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFormatter;
            bipush 59
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(C)Lcom/sun/codemodel/internal/JFormatter;
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            pop
        end local 4 // com.sun.codemodel.internal.JClass clazz
        24: .line 421
      StackMap locals: com.sun.codemodel.internal.JFormatter com.sun.codemodel.internal.JDefinedClass com.sun.codemodel.internal.JPackage com.sun.codemodel.internal.JClass[] top int int com.sun.codemodel.internal.JClass[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        25: iload 5
            iload 6
            if_icmplt 19
        26: .line 433
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            pop
        27: .line 435
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual com.sun.codemodel.internal.JFormatter.d:(Lcom/sun/codemodel/internal/JDeclaration;)Lcom/sun/codemodel/internal/JFormatter;
            pop
        28: .line 436
            return
        end local 3 // com.sun.codemodel.internal.JClass[] imports
        end local 2 // com.sun.codemodel.internal.JPackage pkg
        end local 1 // com.sun.codemodel.internal.JDefinedClass c
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   29     0     this  Lcom/sun/codemodel/internal/JFormatter;
            0   29     1        c  Lcom/sun/codemodel/internal/JDefinedClass;
            5    8     2       tl  Lcom/sun/codemodel/internal/JFormatter$ReferenceList;
           13   29     2      pkg  Lcom/sun/codemodel/internal/JPackage;
           17   29     3  imports  [Lcom/sun/codemodel/internal/JClass;
           20   24     4    clazz  Lcom/sun/codemodel/internal/JClass;
    MethodParameters:
      Name  Flags
      c     

  private boolean supressImport(com.sun.codemodel.internal.JClass, com.sun.codemodel.internal.JClass);
    descriptor: (Lcom/sun/codemodel/internal/JClass;Lcom/sun/codemodel/internal/JClass;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.sun.codemodel.internal.JFormatter this
        start local 1 // com.sun.codemodel.internal.JClass clazz
        start local 2 // com.sun.codemodel.internal.JClass c
         0: .line 446
            aload 1 /* clazz */
            instanceof com.sun.codemodel.internal.JNarrowedClass
            ifeq 2
         1: .line 447
            aload 1 /* clazz */
            invokevirtual com.sun.codemodel.internal.JClass.erasure:()Lcom/sun/codemodel/internal/JClass;
            astore 1 /* clazz */
         2: .line 449
      StackMap locals:
      StackMap stack:
            aload 1 /* clazz */
            instanceof com.sun.codemodel.internal.JAnonymousClass
            ifeq 4
         3: .line 450
            aload 1 /* clazz */
            invokevirtual com.sun.codemodel.internal.JClass._extends:()Lcom/sun/codemodel/internal/JClass;
            astore 1 /* clazz */
         4: .line 453
      StackMap locals:
      StackMap stack:
            aload 1 /* clazz */
            invokevirtual com.sun.codemodel.internal.JClass._package:()Lcom/sun/codemodel/internal/JPackage;
            invokevirtual com.sun.codemodel.internal.JPackage.isUnnamed:()Z
            ifeq 6
         5: .line 454
            iconst_1
            ireturn
         6: .line 456
      StackMap locals:
      StackMap stack:
            aload 1 /* clazz */
            invokevirtual com.sun.codemodel.internal.JClass._package:()Lcom/sun/codemodel/internal/JPackage;
            invokevirtual com.sun.codemodel.internal.JPackage.name:()Ljava/lang/String;
            astore 3 /* packageName */
        start local 3 // java.lang.String packageName
         7: .line 457
            aload 3 /* packageName */
            ldc "java.lang"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 458
            iconst_1
            ireturn
         9: .line 460
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* clazz */
            invokevirtual com.sun.codemodel.internal.JClass._package:()Lcom/sun/codemodel/internal/JPackage;
            aload 2 /* c */
            invokevirtual com.sun.codemodel.internal.JClass._package:()Lcom/sun/codemodel/internal/JPackage;
            if_acmpne 12
        10: .line 464
            aload 1 /* clazz */
            invokevirtual com.sun.codemodel.internal.JClass.outer:()Lcom/sun/codemodel/internal/JClass;
            ifnonnull 12
        11: .line 465
            iconst_1
            ireturn
        12: .line 468
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.lang.String packageName
        end local 2 // com.sun.codemodel.internal.JClass c
        end local 1 // com.sun.codemodel.internal.JClass clazz
        end local 0 // com.sun.codemodel.internal.JFormatter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lcom/sun/codemodel/internal/JFormatter;
            0   13     1        clazz  Lcom/sun/codemodel/internal/JClass;
            0   13     2            c  Lcom/sun/codemodel/internal/JClass;
            7   13     3  packageName  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      clazz  
      c      

  static int[] $SWITCH_TABLE$com$sun$codemodel$internal$JFormatter$Mode();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 43
            getstatic com.sun.codemodel.internal.JFormatter.$SWITCH_TABLE$com$sun$codemodel$internal$JFormatter$Mode:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.sun.codemodel.internal.JFormatter$Mode.values:()[Lcom/sun/codemodel/internal/JFormatter$Mode;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.sun.codemodel.internal.JFormatter$Mode.COLLECTING:Lcom/sun/codemodel/internal/JFormatter$Mode;
            invokevirtual com.sun.codemodel.internal.JFormatter$Mode.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.sun.codemodel.internal.JFormatter$Mode.PRINTING:Lcom/sun/codemodel/internal/JFormatter$Mode;
            invokevirtual com.sun.codemodel.internal.JFormatter$Mode.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            dup
            putstatic com.sun.codemodel.internal.JFormatter.$SWITCH_TABLE$com$sun$codemodel$internal$JFormatter$Mode:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
}
SourceFile: "JFormatter.java"
NestMembers:
  com.sun.codemodel.internal.JFormatter$Mode  com.sun.codemodel.internal.JFormatter$ReferenceList
InnerClasses:
  private final Mode = com.sun.codemodel.internal.JFormatter$Mode of com.sun.codemodel.internal.JFormatter
  final ReferenceList = com.sun.codemodel.internal.JFormatter$ReferenceList of com.sun.codemodel.internal.JFormatter