public class nu.xom.DocType extends nu.xom.Node
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: nu.xom.DocType
  super_class: nu.xom.Node
{
  private java.lang.String rootName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String systemID;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String publicID;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String internalDTDSubset;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // nu.xom.DocType this
        start local 1 // java.lang.String rootElementName
        start local 2 // java.lang.String publicID
        start local 3 // java.lang.String systemID
         0: .line 88
            aload 0 /* this */
            invokespecial nu.xom.Node.<init>:()V
         1: .line 65
            aload 0 /* this */
            ldc ""
            putfield nu.xom.DocType.internalDTDSubset:Ljava/lang/String;
         2: .line 90
            aload 0 /* this */
            aload 1 /* rootElementName */
            invokevirtual nu.xom.DocType._setRootElementName:(Ljava/lang/String;)V
         3: .line 91
            aload 0 /* this */
            aload 3 /* systemID */
            invokevirtual nu.xom.DocType._setSystemID:(Ljava/lang/String;)V
         4: .line 92
            aload 0 /* this */
            aload 2 /* publicID */
            invokevirtual nu.xom.DocType._setPublicID:(Ljava/lang/String;)V
         5: .line 93
            return
        end local 3 // java.lang.String systemID
        end local 2 // java.lang.String publicID
        end local 1 // java.lang.String rootElementName
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lnu/xom/DocType;
            0    6     1  rootElementName  Ljava/lang/String;
            0    6     2         publicID  Ljava/lang/String;
            0    6     3         systemID  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      rootElementName  
      publicID         
      systemID         

  public void <init>(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // nu.xom.DocType this
        start local 1 // java.lang.String rootElementName
        start local 2 // java.lang.String systemID
         0: .line 113
            aload 0 /* this */
            aload 1 /* rootElementName */
            aconst_null
            aload 2 /* systemID */
            invokespecial nu.xom.DocType.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 114
            return
        end local 2 // java.lang.String systemID
        end local 1 // java.lang.String rootElementName
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lnu/xom/DocType;
            0    2     1  rootElementName  Ljava/lang/String;
            0    2     2         systemID  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      rootElementName  
      systemID         

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // nu.xom.DocType this
        start local 1 // java.lang.String rootElementName
         0: .line 130
            aload 0 /* this */
            aload 1 /* rootElementName */
            aconst_null
            aconst_null
            invokespecial nu.xom.DocType.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 131
            return
        end local 1 // java.lang.String rootElementName
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lnu/xom/DocType;
            0    2     1  rootElementName  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      rootElementName  

  public void <init>(nu.xom.DocType);
    descriptor: (Lnu/xom/DocType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.DocType this
        start local 1 // nu.xom.DocType doctype
         0: .line 142
            aload 0 /* this */
            invokespecial nu.xom.Node.<init>:()V
         1: .line 65
            aload 0 /* this */
            ldc ""
            putfield nu.xom.DocType.internalDTDSubset:Ljava/lang/String;
         2: .line 143
            aload 0 /* this */
            aload 1 /* doctype */
            getfield nu.xom.DocType.internalDTDSubset:Ljava/lang/String;
            putfield nu.xom.DocType.internalDTDSubset:Ljava/lang/String;
         3: .line 144
            aload 0 /* this */
            aload 1 /* doctype */
            getfield nu.xom.DocType.publicID:Ljava/lang/String;
            putfield nu.xom.DocType.publicID:Ljava/lang/String;
         4: .line 145
            aload 0 /* this */
            aload 1 /* doctype */
            getfield nu.xom.DocType.systemID:Ljava/lang/String;
            putfield nu.xom.DocType.systemID:Ljava/lang/String;
         5: .line 146
            aload 0 /* this */
            aload 1 /* doctype */
            getfield nu.xom.DocType.rootName:Ljava/lang/String;
            putfield nu.xom.DocType.rootName:Ljava/lang/String;
         6: .line 147
            return
        end local 1 // nu.xom.DocType doctype
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lnu/xom/DocType;
            0    7     1  doctype  Lnu/xom/DocType;
    MethodParameters:
         Name  Flags
      doctype  

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // nu.xom.DocType this
         0: .line 150
            aload 0 /* this */
            invokespecial nu.xom.Node.<init>:()V
         1: .line 65
            aload 0 /* this */
            ldc ""
            putfield nu.xom.DocType.internalDTDSubset:Ljava/lang/String;
         2: .line 150
            return
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lnu/xom/DocType;

  static nu.xom.DocType build(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lnu/xom/DocType;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // java.lang.String rootElementName
        start local 1 // java.lang.String publicID
        start local 2 // java.lang.String systemID
         0: .line 154
            new nu.xom.DocType
            dup
            invokespecial nu.xom.DocType.<init>:()V
            astore 3 /* result */
        start local 3 // nu.xom.DocType result
         1: .line 155
            aload 3 /* result */
            aload 1 /* publicID */
            putfield nu.xom.DocType.publicID:Ljava/lang/String;
         2: .line 156
            aload 3 /* result */
            aload 2 /* systemID */
            putfield nu.xom.DocType.systemID:Ljava/lang/String;
         3: .line 157
            aload 3 /* result */
            aload 0 /* rootElementName */
            putfield nu.xom.DocType.rootName:Ljava/lang/String;
         4: .line 158
            aload 3 /* result */
            areturn
        end local 3 // nu.xom.DocType result
        end local 2 // java.lang.String systemID
        end local 1 // java.lang.String publicID
        end local 0 // java.lang.String rootElementName
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0  rootElementName  Ljava/lang/String;
            0    5     1         publicID  Ljava/lang/String;
            0    5     2         systemID  Ljava/lang/String;
            1    5     3           result  Lnu/xom/DocType;
    MethodParameters:
                 Name  Flags
      rootElementName  
      publicID         
      systemID         

  public final java.lang.String getRootElementName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.DocType this
         0: .line 172
            aload 0 /* this */
            getfield nu.xom.DocType.rootName:Ljava/lang/String;
            areturn
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnu/xom/DocType;

  public void setRootElementName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.DocType this
        start local 1 // java.lang.String name
         0: .line 190
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual nu.xom.DocType._setRootElementName:(Ljava/lang/String;)V
         1: .line 191
            return
        end local 1 // java.lang.String name
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnu/xom/DocType;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private void _setRootElementName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.DocType this
        start local 1 // java.lang.String name
         0: .line 195
            aload 1 /* name */
            invokestatic nu.xom.Verifier.checkXMLName:(Ljava/lang/String;)V
         1: .line 196
            aload 0 /* this */
            aload 1 /* name */
            putfield nu.xom.DocType.rootName:Ljava/lang/String;
         2: .line 197
            return
        end local 1 // java.lang.String name
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lnu/xom/DocType;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public final java.lang.String getInternalDTDSubset();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.DocType this
         0: .line 210
            aload 0 /* this */
            getfield nu.xom.DocType.internalDTDSubset:Ljava/lang/String;
            areturn
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnu/xom/DocType;

  public final void setInternalDTDSubset(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.DocType this
        start local 1 // java.lang.String subset
         0: .line 236
            aload 1 /* subset */
            ifnull 4
            aload 1 /* subset */
            invokevirtual java.lang.String.length:()I
            ifle 4
         1: .line 237
            aload 1 /* subset */
            invokestatic nu.xom.Verifier.checkInternalDTDSubset:(Ljava/lang/String;)V
         2: .line 238
            aload 0 /* this */
            aload 1 /* subset */
            invokevirtual nu.xom.DocType.fastSetInternalDTDSubset:(Ljava/lang/String;)V
         3: .line 239
            goto 5
         4: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ""
            putfield nu.xom.DocType.internalDTDSubset:Ljava/lang/String;
         5: .line 244
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String subset
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lnu/xom/DocType;
            0    6     1  subset  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      subset  

  final void fastSetInternalDTDSubset(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.DocType this
        start local 1 // java.lang.String internalSubset
         0: .line 248
            aload 0 /* this */
            aload 1 /* internalSubset */
            putfield nu.xom.DocType.internalDTDSubset:Ljava/lang/String;
         1: .line 249
            return
        end local 1 // java.lang.String internalSubset
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lnu/xom/DocType;
            0    2     1  internalSubset  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      internalSubset  

  public final java.lang.String getPublicID();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.DocType this
         0: .line 262
            aload 0 /* this */
            getfield nu.xom.DocType.publicID:Ljava/lang/String;
            areturn
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnu/xom/DocType;

  public void setPublicID(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.DocType this
        start local 1 // java.lang.String id
         0: .line 282
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual nu.xom.DocType._setPublicID:(Ljava/lang/String;)V
         1: .line 283
            return
        end local 1 // java.lang.String id
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnu/xom/DocType;
            0    2     1    id  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      id    

  private void _setPublicID(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // nu.xom.DocType this
        start local 1 // java.lang.String id
         0: .line 288
            aload 0 /* this */
            getfield nu.xom.DocType.systemID:Ljava/lang/String;
            ifnonnull 4
            aload 1 /* id */
            ifnull 4
         1: .line 289
            new nu.xom.WellformednessException
            dup
         2: .line 290
            ldc "Cannot have a public ID without a system ID"
         3: .line 289
            invokespecial nu.xom.WellformednessException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 294
      StackMap locals:
      StackMap stack:
            aload 1 /* id */
            ifnull 23
         5: .line 295
            aload 1 /* id */
            invokevirtual java.lang.String.length:()I
            istore 2 /* length */
        start local 2 // int length
         6: .line 296
            iload 2 /* length */
            ifeq 23
         7: .line 297
            aload 1 /* id */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic nu.xom.Verifier.isXMLSpaceCharacter:(C)Z
            ifeq 9
         8: .line 298
            new nu.xom.IllegalDataException
            dup
            ldc "Initial white space in public IDs is not round trippable."
            invokespecial nu.xom.IllegalDataException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 301
      StackMap locals: int
      StackMap stack:
            aload 1 /* id */
            iload 2 /* length */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic nu.xom.Verifier.isXMLSpaceCharacter:(C)Z
            ifeq 11
        10: .line 302
            new nu.xom.IllegalDataException
            dup
            ldc "Trailing white space in public IDs is not round trippable."
            invokespecial nu.xom.IllegalDataException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 306
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        12: goto 22
        13: .line 307
      StackMap locals: int
      StackMap stack:
            aload 1 /* id */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
        14: .line 308
            iload 4 /* c */
            invokestatic nu.xom.DocType.isXMLPublicIDCharacter:(C)Z
            ifne 19
        15: .line 309
            new nu.xom.IllegalDataException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The character 0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 310
            iload 4 /* c */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 311
            ldc " is not allowed in public IDs"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 309
            invokespecial nu.xom.IllegalDataException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 313
      StackMap locals: int
      StackMap stack:
            iload 4 /* c */
            bipush 32
            if_icmpne 21
            aload 1 /* id */
            iload 3 /* i */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 32
            if_icmpne 21
        20: .line 314
            new nu.xom.IllegalDataException
            dup
            ldc "Multiple consecutive spaces in public IDs are not round trippable."
            invokespecial nu.xom.IllegalDataException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // char c
        21: .line 306
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 3 /* i */
            iload 2 /* length */
            if_icmplt 13
        end local 3 // int i
        end local 2 // int length
        23: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            putfield nu.xom.DocType.publicID:Ljava/lang/String;
        24: .line 322
            return
        end local 1 // java.lang.String id
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   25     0    this  Lnu/xom/DocType;
            0   25     1      id  Ljava/lang/String;
            6   23     2  length  I
           12   23     3       i  I
           14   21     4       c  C
    MethodParameters:
      Name  Flags
      id    

  public final java.lang.String getSystemID();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.DocType this
         0: .line 334
            aload 0 /* this */
            getfield nu.xom.DocType.systemID:Ljava/lang/String;
            areturn
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnu/xom/DocType;

  public void setSystemID(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.DocType this
        start local 1 // java.lang.String id
         0: .line 356
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual nu.xom.DocType._setSystemID:(Ljava/lang/String;)V
         1: .line 357
            return
        end local 1 // java.lang.String id
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnu/xom/DocType;
            0    2     1    id  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      id    

  private void _setSystemID(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // nu.xom.DocType this
        start local 1 // java.lang.String id
         0: .line 362
            aload 1 /* id */
            ifnonnull 4
            aload 0 /* this */
            getfield nu.xom.DocType.publicID:Ljava/lang/String;
            ifnull 4
         1: .line 363
            new nu.xom.WellformednessException
            dup
         2: .line 364
            ldc "Cannot remove system ID without removing public ID first"
         3: .line 363
            invokespecial nu.xom.WellformednessException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 368
      StackMap locals:
      StackMap stack:
            aload 1 /* id */
            ifnull 12
         5: .line 370
            aload 1 /* id */
            invokestatic nu.xom.Verifier.checkURIReference:(Ljava/lang/String;)V
         6: .line 372
            aload 1 /* id */
            bipush 35
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 12
         7: .line 373
            new nu.xom.MalformedURIException
            dup
         8: .line 374
            ldc "System literals cannot contain fragment identifiers"
         9: .line 373
            invokespecial nu.xom.MalformedURIException.<init>:(Ljava/lang/String;)V
            astore 2 /* ex */
        start local 2 // nu.xom.MalformedURIException ex
        10: .line 376
            aload 2 /* ex */
            aload 1 /* id */
            invokevirtual nu.xom.MalformedURIException.setData:(Ljava/lang/String;)V
        11: .line 377
            aload 2 /* ex */
            athrow
        end local 2 // nu.xom.MalformedURIException ex
        12: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            putfield nu.xom.DocType.systemID:Ljava/lang/String;
        13: .line 383
            return
        end local 1 // java.lang.String id
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lnu/xom/DocType;
            0   14     1    id  Ljava/lang/String;
           10   12     2    ex  Lnu/xom/MalformedURIException;
    MethodParameters:
      Name  Flags
      id    

  public final java.lang.String getValue();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.DocType this
         0: .line 395
            ldc ""
            areturn
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnu/xom/DocType;

  public final nu.xom.Node getChild(int);
    descriptor: (I)Lnu/xom/Node;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // nu.xom.DocType this
        start local 1 // int position
         0: .line 414
            new java.lang.IndexOutOfBoundsException
            dup
         1: .line 415
            ldc "Document type declarations do not have children"
         2: .line 414
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int position
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lnu/xom/DocType;
            0    3     1  position  I
    MethodParameters:
          Name  Flags
      position  

  public final int getChildCount();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.DocType this
         0: .line 428
            iconst_0
            ireturn
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnu/xom/DocType;

  public final java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // nu.xom.DocType this
         0: .line 443
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield nu.xom.DocType.rootName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnu/xom/DocType;

  public nu.xom.Node copy();
    descriptor: ()Lnu/xom/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // nu.xom.DocType this
         0: .line 459
            new nu.xom.DocType
            dup
            aload 0 /* this */
            invokespecial nu.xom.DocType.<init>:(Lnu/xom/DocType;)V
            areturn
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnu/xom/DocType;

  public final java.lang.String toXML();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // nu.xom.DocType this
         0: .line 476
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* result */
        start local 1 // java.lang.StringBuffer result
         1: .line 477
            aload 1 /* result */
            ldc "<!DOCTYPE "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 478
            aload 1 /* result */
            aload 0 /* this */
            getfield nu.xom.DocType.rootName:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 479
            aload 0 /* this */
            getfield nu.xom.DocType.publicID:Ljava/lang/String;
            ifnull 10
         4: .line 480
            aload 1 /* result */
            ldc " PUBLIC \""
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 481
            aload 1 /* result */
            aload 0 /* this */
            getfield nu.xom.DocType.publicID:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 482
            aload 1 /* result */
            ldc "\" \""
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         7: .line 483
            aload 1 /* result */
            aload 0 /* this */
            getfield nu.xom.DocType.systemID:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 484
            aload 1 /* result */
            bipush 34
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         9: .line 485
            goto 14
        10: .line 486
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.DocType.systemID:Ljava/lang/String;
            ifnull 14
        11: .line 487
            aload 1 /* result */
            ldc " SYSTEM \""
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        12: .line 488
            aload 1 /* result */
            aload 0 /* this */
            getfield nu.xom.DocType.systemID:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 489
            aload 1 /* result */
            bipush 34
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        14: .line 492
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.DocType.internalDTDSubset:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifeq 18
        15: .line 493
            aload 1 /* result */
            ldc " [\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        16: .line 494
            aload 1 /* result */
            aload 0 /* this */
            getfield nu.xom.DocType.internalDTDSubset:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        17: .line 495
            aload 1 /* result */
            bipush 93
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        18: .line 498
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            ldc ">"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        19: .line 499
            aload 1 /* result */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer result
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0    this  Lnu/xom/DocType;
            1   20     1  result  Ljava/lang/StringBuffer;

  boolean isDocType();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.DocType this
         0: .line 504
            iconst_1
            ireturn
        end local 0 // nu.xom.DocType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnu/xom/DocType;

  private static boolean isXMLPublicIDCharacter(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // char c
         0: .line 514
            iload 0 /* c */
            tableswitch { // 32 - 122
                   32: 1
                   33: 2
                   34: 3
                   35: 4
                   36: 5
                   37: 6
                   38: 7
                   39: 8
                   40: 9
                   41: 10
                   42: 11
                   43: 12
                   44: 13
                   45: 14
                   46: 15
                   47: 16
                   48: 17
                   49: 18
                   50: 19
                   51: 20
                   52: 21
                   53: 22
                   54: 23
                   55: 24
                   56: 25
                   57: 26
                   58: 27
                   59: 28
                   60: 29
                   61: 30
                   62: 31
                   63: 32
                   64: 33
                   65: 34
                   66: 35
                   67: 36
                   68: 37
                   69: 38
                   70: 39
                   71: 40
                   72: 41
                   73: 42
                   74: 43
                   75: 44
                   76: 45
                   77: 46
                   78: 47
                   79: 48
                   80: 49
                   81: 50
                   82: 51
                   83: 52
                   84: 53
                   85: 54
                   86: 55
                   87: 56
                   88: 57
                   89: 58
                   90: 59
                   91: 60
                   92: 61
                   93: 62
                   94: 63
                   95: 64
                   96: 65
                   97: 66
                   98: 67
                   99: 68
                  100: 69
                  101: 70
                  102: 71
                  103: 72
                  104: 73
                  105: 74
                  106: 75
                  107: 76
                  108: 77
                  109: 78
                  110: 79
                  111: 80
                  112: 81
                  113: 82
                  114: 83
                  115: 84
                  116: 85
                  117: 86
                  118: 87
                  119: 88
                  120: 89
                  121: 90
                  122: 91
              default: 92
          }
         1: .line 515
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 516
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         3: .line 517
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 518
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         5: .line 519
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         6: .line 520
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         7: .line 521
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         8: .line 522
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         9: .line 523
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        10: .line 524
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        11: .line 525
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        12: .line 526
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        13: .line 527
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        14: .line 528
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        15: .line 529
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        16: .line 530
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        17: .line 531
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        18: .line 532
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        19: .line 533
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        20: .line 534
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        21: .line 535
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        22: .line 536
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        23: .line 537
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        24: .line 538
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        25: .line 539
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        26: .line 540
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        27: .line 541
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        28: .line 542
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        29: .line 543
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        30: .line 544
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        31: .line 545
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        32: .line 546
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        33: .line 547
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        34: .line 548
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        35: .line 549
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        36: .line 550
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        37: .line 551
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        38: .line 552
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        39: .line 553
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        40: .line 554
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        41: .line 555
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        42: .line 556
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        43: .line 557
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        44: .line 558
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        45: .line 559
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        46: .line 560
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        47: .line 561
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        48: .line 562
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        49: .line 563
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        50: .line 564
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        51: .line 565
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        52: .line 566
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        53: .line 567
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        54: .line 568
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        55: .line 569
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        56: .line 570
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        57: .line 571
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        58: .line 572
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        59: .line 573
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        60: .line 574
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        61: .line 575
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        62: .line 576
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        63: .line 577
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        64: .line 578
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        65: .line 579
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        66: .line 580
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        67: .line 581
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        68: .line 582
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        69: .line 583
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        70: .line 584
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        71: .line 585
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        72: .line 586
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        73: .line 587
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        74: .line 588
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        75: .line 589
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        76: .line 590
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        77: .line 591
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        78: .line 592
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        79: .line 593
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        80: .line 594
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        81: .line 595
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        82: .line 596
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        83: .line 597
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        84: .line 598
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        85: .line 599
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        86: .line 600
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        87: .line 601
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        88: .line 602
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        89: .line 603
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        90: .line 604
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        91: .line 605
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        92: .line 608
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   93     0     c  C
    MethodParameters:
      Name  Flags
      c     
}
SourceFile: "DocType.java"