public abstract class nu.xom.ParentNode extends nu.xom.Node
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: nu.xom.ParentNode
  super_class: nu.xom.Node
{
  nu.xom.Node[] children;
    descriptor: [Lnu/xom/Node;
    flags: (0x0000) 

  int childCount;
    descriptor: I
    flags: (0x0000) 

  java.lang.String actualBaseURI;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // nu.xom.ParentNode this
         0: .line 61
            aload 0 /* this */
            invokespecial nu.xom.Node.<init>:()V
         1: .line 50
            aload 0 /* this */
            iconst_0
            putfield nu.xom.ParentNode.childCount:I
         2: .line 61
            return
        end local 0 // nu.xom.ParentNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lnu/xom/ParentNode;

  public int getChildCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.ParentNode this
         0: .line 73
            aload 0 /* this */
            getfield nu.xom.ParentNode.childCount:I
            ireturn
        end local 0 // nu.xom.ParentNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnu/xom/ParentNode;

  public void insertChild(nu.xom.Node, int);
    descriptor: (Lnu/xom/Node;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // nu.xom.ParentNode this
        start local 1 // nu.xom.Node child
        start local 2 // int position
         0: .line 107
            aload 0 /* this */
            aload 1 /* child */
            iload 2 /* position */
            invokevirtual nu.xom.ParentNode._insertChild:(Lnu/xom/Node;I)V
         1: .line 108
            return
        end local 2 // int position
        end local 1 // nu.xom.Node child
        end local 0 // nu.xom.ParentNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lnu/xom/ParentNode;
            0    2     1     child  Lnu/xom/Node;
            0    2     2  position  I
    MethodParameters:
          Name  Flags
      child     
      position  

  final void _insertChild(nu.xom.Node, int);
    descriptor: (Lnu/xom/Node;I)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // nu.xom.ParentNode this
        start local 1 // nu.xom.Node child
        start local 2 // int position
         0: .line 114
            aload 0 /* this */
            aload 1 /* child */
            iload 2 /* position */
            invokevirtual nu.xom.ParentNode.insertionAllowed:(Lnu/xom/Node;I)V
         1: .line 115
            aload 0 /* this */
            aload 1 /* child */
            iload 2 /* position */
            invokevirtual nu.xom.ParentNode.fastInsertChild:(Lnu/xom/Node;I)V
         2: .line 116
            return
        end local 2 // int position
        end local 1 // nu.xom.Node child
        end local 0 // nu.xom.ParentNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lnu/xom/ParentNode;
            0    3     1     child  Lnu/xom/Node;
            0    3     2  position  I
    MethodParameters:
          Name  Flags
      child     
      position  

  void fastInsertChild(nu.xom.Node, int);
    descriptor: (Lnu/xom/Node;I)V
    flags: (0x0000) 
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // nu.xom.ParentNode this
        start local 1 // nu.xom.Node child
        start local 2 // int position
         0: .line 120
            iload 2 /* position */
            aload 0 /* this */
            getfield nu.xom.ParentNode.childCount:I
            if_icmple 2
         1: .line 121
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Inserted node at position "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* position */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " after children"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield nu.xom.ParentNode.childCount:I
            iconst_1
            iadd
            invokevirtual nu.xom.ParentNode.checkCapacity:(I)V
         3: .line 124
            iload 2 /* position */
            aload 0 /* this */
            getfield nu.xom.ParentNode.childCount:I
            if_icmpge 5
         4: .line 126
            aload 0 /* this */
            getfield nu.xom.ParentNode.children:[Lnu/xom/Node;
            iload 2 /* position */
            aload 0 /* this */
            getfield nu.xom.ParentNode.children:[Lnu/xom/Node;
            iload 2 /* position */
            iconst_1
            iadd
            aload 0 /* this */
            getfield nu.xom.ParentNode.childCount:I
            iload 2 /* position */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.ParentNode.children:[Lnu/xom/Node;
            iload 2 /* position */
            aload 1 /* child */
            aastore
         6: .line 129
            aload 0 /* this */
            dup
            getfield nu.xom.ParentNode.childCount:I
            iconst_1
            iadd
            putfield nu.xom.ParentNode.childCount:I
         7: .line 130
            aload 1 /* child */
            aload 0 /* this */
            invokevirtual nu.xom.Node.setParent:(Lnu/xom/ParentNode;)V
         8: .line 131
            return
        end local 2 // int position
        end local 1 // nu.xom.Node child
        end local 0 // nu.xom.ParentNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lnu/xom/ParentNode;
            0    9     1     child  Lnu/xom/Node;
            0    9     2  position  I
    MethodParameters:
          Name  Flags
      child     
      position  

  private void checkCapacity(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // nu.xom.ParentNode this
        start local 1 // int position
         0: .line 136
            aload 0 /* this */
            getfield nu.xom.ParentNode.children:[Lnu/xom/Node;
            ifnonnull 3
         1: .line 137
            aload 0 /* this */
            iconst_1
            anewarray nu.xom.Node
            putfield nu.xom.ParentNode.children:[Lnu/xom/Node;
         2: .line 138
            goto 7
         3: .line 139
      StackMap locals:
      StackMap stack:
            iload 1 /* position */
            aload 0 /* this */
            getfield nu.xom.ParentNode.children:[Lnu/xom/Node;
            arraylength
            if_icmplt 7
         4: .line 140
            aload 0 /* this */
            getfield nu.xom.ParentNode.children:[Lnu/xom/Node;
            arraylength
            iconst_2
            imul
            anewarray nu.xom.Node
            astore 2 /* data */
        start local 2 // nu.xom.Node[] data
         5: .line 141
            aload 0 /* this */
            getfield nu.xom.ParentNode.children:[Lnu/xom/Node;
            iconst_0
            aload 2 /* data */
            iconst_0
            aload 0 /* this */
            getfield nu.xom.ParentNode.children:[Lnu/xom/Node;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 142
            aload 0 /* this */
            aload 2 /* data */
            putfield nu.xom.ParentNode.children:[Lnu/xom/Node;
        end local 2 // nu.xom.Node[] data
         7: .line 145
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int position
        end local 0 // nu.xom.ParentNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lnu/xom/ParentNode;
            0    8     1  position  I
            5    7     2      data  [Lnu/xom/Node;
    MethodParameters:
          Name  Flags
      position  

  abstract void insertionAllowed(nu.xom.Node, int);
    descriptor: (Lnu/xom/Node;I)V
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      child     
      position  

  public void appendChild(nu.xom.Node);
    descriptor: (Lnu/xom/Node;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // nu.xom.ParentNode this
        start local 1 // nu.xom.Node child
         0: .line 165
            aload 0 /* this */
            aload 1 /* child */
            aload 0 /* this */
            getfield nu.xom.ParentNode.childCount:I
            invokevirtual nu.xom.ParentNode.insertChild:(Lnu/xom/Node;I)V
         1: .line 166
            return
        end local 1 // nu.xom.Node child
        end local 0 // nu.xom.ParentNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lnu/xom/ParentNode;
            0    2     1  child  Lnu/xom/Node;
    MethodParameters:
       Name  Flags
      child  

  public nu.xom.Node getChild(int);
    descriptor: (I)Lnu/xom/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // nu.xom.ParentNode this
        start local 1 // int position
         0: .line 185
            aload 0 /* this */
            getfield nu.xom.ParentNode.children:[Lnu/xom/Node;
            ifnonnull 4
         1: .line 186
            new java.lang.IndexOutOfBoundsException
            dup
         2: .line 187
            ldc "This node has no children"
         3: .line 186
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.ParentNode.children:[Lnu/xom/Node;
            iload 1 /* position */
            aaload
            areturn
        end local 1 // int position
        end local 0 // nu.xom.ParentNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lnu/xom/ParentNode;
            0    5     1  position  I
    MethodParameters:
          Name  Flags
      position  

  public int indexOf(nu.xom.Node);
    descriptor: (Lnu/xom/Node;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // nu.xom.ParentNode this
        start local 1 // nu.xom.Node child
         0: .line 218
            aload 0 /* this */
            getfield nu.xom.ParentNode.children:[Lnu/xom/Node;
            ifnonnull 1
            iconst_m1
            ireturn
         1: .line 232
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 233
      StackMap locals: int
      StackMap stack:
            aload 1 /* child */
            aload 0 /* this */
            getfield nu.xom.ParentNode.children:[Lnu/xom/Node;
            iload 2 /* i */
            aaload
            if_acmpne 4
            iload 2 /* i */
            ireturn
         4: .line 232
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield nu.xom.ParentNode.childCount:I
            if_icmplt 3
        end local 2 // int i
         6: .line 235
            iconst_m1
            ireturn
        end local 1 // nu.xom.Node child
        end local 0 // nu.xom.ParentNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lnu/xom/ParentNode;
            0    7     1  child  Lnu/xom/Node;
            2    6     2      i  I
    MethodParameters:
       Name  Flags
      child  

  public nu.xom.Node removeChild(int);
    descriptor: (I)Lnu/xom/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // nu.xom.ParentNode this
        start local 1 // int position
         0: .line 256
            aload 0 /* this */
            getfield nu.xom.ParentNode.children:[Lnu/xom/Node;
            ifnonnull 4
         1: .line 257
            new java.lang.IndexOutOfBoundsException
            dup
         2: .line 258
            ldc "This node has no children"
         3: .line 257
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.ParentNode.children:[Lnu/xom/Node;
            iload 1 /* position */
            aaload
            astore 2 /* removed */
        start local 2 // nu.xom.Node removed
         5: .line 265
            aload 2 /* removed */
            invokevirtual nu.xom.Node.isElement:()Z
            ifeq 6
            aload 0 /* this */
            aload 2 /* removed */
            checkcast nu.xom.Element
            invokevirtual nu.xom.ParentNode.fillInBaseURI:(Lnu/xom/Element;)V
         6: .line 267
      StackMap locals: nu.xom.Node
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.ParentNode.childCount:I
            iload 1 /* position */
            isub
            iconst_1
            isub
            istore 3 /* toCopy */
        start local 3 // int toCopy
         7: .line 268
            iload 3 /* toCopy */
            ifle 9
         8: .line 269
            aload 0 /* this */
            getfield nu.xom.ParentNode.children:[Lnu/xom/Node;
            iload 1 /* position */
            iconst_1
            iadd
            aload 0 /* this */
            getfield nu.xom.ParentNode.children:[Lnu/xom/Node;
            iload 1 /* position */
            iload 3 /* toCopy */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 271
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield nu.xom.ParentNode.childCount:I
            iconst_1
            isub
            putfield nu.xom.ParentNode.childCount:I
        10: .line 272
            aload 0 /* this */
            getfield nu.xom.ParentNode.children:[Lnu/xom/Node;
            aload 0 /* this */
            getfield nu.xom.ParentNode.childCount:I
            aconst_null
            aastore
        11: .line 273
            aload 2 /* removed */
            aconst_null
            invokevirtual nu.xom.Node.setParent:(Lnu/xom/ParentNode;)V
        12: .line 275
            aload 2 /* removed */
            areturn
        end local 3 // int toCopy
        end local 2 // nu.xom.Node removed
        end local 1 // int position
        end local 0 // nu.xom.ParentNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lnu/xom/ParentNode;
            0   13     1  position  I
            5   13     2   removed  Lnu/xom/Node;
            7   13     3    toCopy  I
    MethodParameters:
          Name  Flags
      position  

  void fillInBaseURI(nu.xom.Element);
    descriptor: (Lnu/xom/Element;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // nu.xom.ParentNode this
        start local 1 // nu.xom.Element removed
         0: .line 282
            aload 1 /* removed */
            astore 2 /* parent */
        start local 2 // nu.xom.ParentNode parent
         1: .line 283
            ldc ""
            astore 3 /* actualBaseURI */
        start local 3 // java.lang.String actualBaseURI
         2: .line 284
            goto 5
         3: .line 285
      StackMap locals: nu.xom.ParentNode java.lang.String
      StackMap stack:
            aload 2 /* parent */
            invokevirtual nu.xom.ParentNode.getActualBaseURI:()Ljava/lang/String;
            astore 3 /* actualBaseURI */
         4: .line 286
            aload 2 /* parent */
            invokevirtual nu.xom.ParentNode.getParent:()Lnu/xom/ParentNode;
            astore 2 /* parent */
         5: .line 284
      StackMap locals:
      StackMap stack:
            aload 2 /* parent */
            ifnull 6
            aload 3 /* actualBaseURI */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         6: .line 288
      StackMap locals:
      StackMap stack:
            aload 1 /* removed */
            aload 3 /* actualBaseURI */
            invokevirtual nu.xom.Element.setActualBaseURI:(Ljava/lang/String;)V
         7: .line 290
            return
        end local 3 // java.lang.String actualBaseURI
        end local 2 // nu.xom.ParentNode parent
        end local 1 // nu.xom.Element removed
        end local 0 // nu.xom.ParentNode this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lnu/xom/ParentNode;
            0    8     1        removed  Lnu/xom/Element;
            1    8     2         parent  Lnu/xom/ParentNode;
            2    8     3  actualBaseURI  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      removed  

  public nu.xom.Node removeChild(nu.xom.Node);
    descriptor: (Lnu/xom/Node;)Lnu/xom/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // nu.xom.ParentNode this
        start local 1 // nu.xom.Node child
         0: .line 307
            aload 0 /* this */
            getfield nu.xom.ParentNode.children:[Lnu/xom/Node;
            ifnonnull 4
         1: .line 308
            new nu.xom.NoSuchChildException
            dup
         2: .line 309
            ldc "Child does not belong to this node"
         3: .line 308
            invokespecial nu.xom.NoSuchChildException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* child */
            invokevirtual nu.xom.ParentNode.indexOf:(Lnu/xom/Node;)I
            istore 2 /* position */
        start local 2 // int position
         5: .line 314
            iload 2 /* position */
            iconst_m1
            if_icmpne 9
         6: .line 315
            new nu.xom.NoSuchChildException
            dup
         7: .line 316
            ldc "Child does not belong to this node"
         8: .line 315
            invokespecial nu.xom.NoSuchChildException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 319
      StackMap locals: int
      StackMap stack:
            aload 1 /* child */
            invokevirtual nu.xom.Node.isElement:()Z
            ifeq 10
            aload 0 /* this */
            aload 1 /* child */
            checkcast nu.xom.Element
            invokevirtual nu.xom.ParentNode.fillInBaseURI:(Lnu/xom/Element;)V
        10: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* position */
            invokevirtual nu.xom.ParentNode.removeChild:(I)Lnu/xom/Node;
            pop
        11: .line 322
            aload 1 /* child */
            aconst_null
            invokevirtual nu.xom.Node.setParent:(Lnu/xom/ParentNode;)V
        12: .line 324
            aload 1 /* child */
            areturn
        end local 2 // int position
        end local 1 // nu.xom.Node child
        end local 0 // nu.xom.ParentNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lnu/xom/ParentNode;
            0   13     1     child  Lnu/xom/Node;
            5   13     2  position  I
    MethodParameters:
       Name  Flags
      child  

  public void replaceChild(nu.xom.Node, nu.xom.Node);
    descriptor: (Lnu/xom/Node;Lnu/xom/Node;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // nu.xom.ParentNode this
        start local 1 // nu.xom.Node oldChild
        start local 2 // nu.xom.Node newChild
         0: .line 349
            aload 1 /* oldChild */
            ifnonnull 4
         1: .line 350
            new java.lang.NullPointerException
            dup
         2: .line 351
            ldc "Tried to replace null child"
         3: .line 350
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 354
      StackMap locals:
      StackMap stack:
            aload 2 /* newChild */
            ifnonnull 8
         5: .line 355
            new java.lang.NullPointerException
            dup
         6: .line 356
            ldc "Tried to replace child with null"
         7: .line 355
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.ParentNode.children:[Lnu/xom/Node;
            ifnonnull 12
         9: .line 360
            new nu.xom.NoSuchChildException
            dup
        10: .line 361
            ldc "Reference node is not a child of this node."
        11: .line 360
            invokespecial nu.xom.NoSuchChildException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* oldChild */
            invokevirtual nu.xom.ParentNode.indexOf:(Lnu/xom/Node;)I
            istore 3 /* position */
        start local 3 // int position
        13: .line 365
            iload 3 /* position */
            iconst_m1
            if_icmpne 17
        14: .line 366
            new nu.xom.NoSuchChildException
            dup
        15: .line 367
            ldc "Reference node is not a child of this node."
        16: .line 366
            invokespecial nu.xom.NoSuchChildException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 371
      StackMap locals: int
      StackMap stack:
            aload 1 /* oldChild */
            aload 2 /* newChild */
            if_acmpne 18
            return
        18: .line 373
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* newChild */
            iload 3 /* position */
            invokevirtual nu.xom.ParentNode.insertionAllowed:(Lnu/xom/Node;I)V
        19: .line 374
            aload 0 /* this */
            iload 3 /* position */
            invokevirtual nu.xom.ParentNode.removeChild:(I)Lnu/xom/Node;
            pop
        20: .line 375
            aload 0 /* this */
            aload 2 /* newChild */
            iload 3 /* position */
            invokevirtual nu.xom.ParentNode.insertChild:(Lnu/xom/Node;I)V
        21: .line 377
            return
        end local 3 // int position
        end local 2 // nu.xom.Node newChild
        end local 1 // nu.xom.Node oldChild
        end local 0 // nu.xom.ParentNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0      this  Lnu/xom/ParentNode;
            0   22     1  oldChild  Lnu/xom/Node;
            0   22     2  newChild  Lnu/xom/Node;
           13   22     3  position  I
    MethodParameters:
          Name  Flags
      oldChild  
      newChild  

  public abstract void setBaseURI(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      URI   

  java.lang.String getActualBaseURI();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.ParentNode this
         0: .line 428
            aload 0 /* this */
            getfield nu.xom.ParentNode.actualBaseURI:Ljava/lang/String;
            ifnonnull 1
            ldc ""
            areturn
         1: .line 429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.ParentNode.actualBaseURI:Ljava/lang/String;
            areturn
        end local 0 // nu.xom.ParentNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnu/xom/ParentNode;

  void setActualBaseURI(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.ParentNode this
        start local 1 // java.lang.String uri
         0: .line 434
            aload 1 /* uri */
            ifnonnull 1
            ldc ""
            astore 1 /* uri */
         1: .line 435
      StackMap locals:
      StackMap stack:
            ldc ""
            aload 1 /* uri */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
            aload 1 /* uri */
            invokestatic nu.xom.Verifier.checkAbsoluteURI:(Ljava/lang/String;)V
         2: .line 436
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* uri */
            putfield nu.xom.ParentNode.actualBaseURI:Ljava/lang/String;
         3: .line 437
            return
        end local 1 // java.lang.String uri
        end local 0 // nu.xom.ParentNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lnu/xom/ParentNode;
            0    4     1   uri  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      uri   

  final java.lang.String findActualBaseURI();
    descriptor: ()Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // nu.xom.ParentNode this
         0: .line 442
            aload 0 /* this */
            astore 1 /* current */
        start local 1 // nu.xom.ParentNode current
         1: .line 444
      StackMap locals: nu.xom.ParentNode
      StackMap stack:
            aload 1 /* current */
            invokevirtual nu.xom.ParentNode.getActualBaseURI:()Ljava/lang/String;
            astore 2 /* actualBase */
        start local 2 // java.lang.String actualBase
         2: .line 445
            aload 1 /* current */
            invokevirtual nu.xom.ParentNode.getParent:()Lnu/xom/ParentNode;
            astore 3 /* parent */
        start local 3 // nu.xom.ParentNode parent
         3: .line 447
            aload 3 /* parent */
            ifnonnull 4
            aload 2 /* actualBase */
            areturn
         4: .line 449
      StackMap locals: java.lang.String nu.xom.ParentNode
      StackMap stack:
            ldc ""
            aload 2 /* actualBase */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 450
            aload 3 /* parent */
            astore 1 /* current */
         6: .line 451
            goto 1
         7: .line 456
      StackMap locals:
      StackMap stack:
            aload 2 /* actualBase */
            areturn
        end local 3 // nu.xom.ParentNode parent
        end local 2 // java.lang.String actualBase
        end local 1 // nu.xom.ParentNode current
        end local 0 // nu.xom.ParentNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lnu/xom/ParentNode;
            1    8     1     current  Lnu/xom/ParentNode;
            2    8     2  actualBase  Ljava/lang/String;
            3    8     3      parent  Lnu/xom/ParentNode;
}
SourceFile: "ParentNode.java"