public abstract class org.glassfish.grizzly.http2.Node
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.glassfish.grizzly.http2.Node
  super_class: java.lang.Object
{
  private static final java.util.concurrent.locks.ReentrantReadWriteLock lock;
    descriptor: Ljava/util/concurrent/locks/ReentrantReadWriteLock;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected static final java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock readLock;
    descriptor: Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock writeLock;
    descriptor: Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected final int id;
    descriptor: I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected org.glassfish.grizzly.http2.Node next;
    descriptor: Lorg/glassfish/grizzly/http2/Node;
    flags: (0x0004) ACC_PROTECTED

  protected org.glassfish.grizzly.http2.Node prev;
    descriptor: Lorg/glassfish/grizzly/http2/Node;
    flags: (0x0004) ACC_PROTECTED

  protected org.glassfish.grizzly.http2.Node parent;
    descriptor: Lorg/glassfish/grizzly/http2/Node;
    flags: (0x0004) ACC_PROTECTED

  protected org.glassfish.grizzly.http2.Node firstChild;
    descriptor: Lorg/glassfish/grizzly/http2/Node;
    flags: (0x0004) ACC_PROTECTED

  protected boolean exclusive;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 27
            new java.util.concurrent.locks.ReentrantReadWriteLock
            dup
            invokespecial java.util.concurrent.locks.ReentrantReadWriteLock.<init>:()V
            putstatic org.glassfish.grizzly.http2.Node.lock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
         1: .line 28
            getstatic org.glassfish.grizzly.http2.Node.lock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
            putstatic org.glassfish.grizzly.http2.Node.readLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
         2: .line 29
            getstatic org.glassfish.grizzly.http2.Node.lock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            putstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Node this
        start local 1 // int id
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 43
            aload 0 /* this */
            iload 1 /* id */
            putfield org.glassfish.grizzly.http2.Node.id:I
         2: .line 44
            return
        end local 1 // int id
        end local 0 // org.glassfish.grizzly.http2.Node this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/glassfish/grizzly/http2/Node;
            0    3     1    id  I
    MethodParameters:
      Name  Flags
      id    final

  protected void exclusive();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Node this
         0: .line 55
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
         1: .line 57
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.parent:Lorg/glassfish/grizzly/http2/Node;
            astore 1 /* p */
        start local 1 // org.glassfish.grizzly.http2.Node p
         2: .line 58
            aload 1 /* p */
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.id:I
            invokevirtual org.glassfish.grizzly.http2.Node.detach:(I)Lorg/glassfish/grizzly/http2/Node;
            pop
         3: .line 59
            aload 1 /* p */
            aload 0 /* this */
            iconst_1
            invokevirtual org.glassfish.grizzly.http2.Node.addChild:(Lorg/glassfish/grizzly/http2/Node;Z)V
        end local 1 // org.glassfish.grizzly.http2.Node p
         4: .line 60
            goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 2
         6: .line 61
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
         7: .line 62
            aload 2
            athrow
         8: .line 61
      StackMap locals:
      StackMap stack:
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
         9: .line 63
            return
        end local 0 // org.glassfish.grizzly.http2.Node this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/glassfish/grizzly/http2/Node;
            2    4     1     p  Lorg/glassfish/grizzly/http2/Node;
      Exception table:
        from    to  target  type
           1     5       5  any

  protected void addSibling(org.glassfish.grizzly.http2.Node);
    descriptor: (Lorg/glassfish/grizzly/http2/Node;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Node this
        start local 1 // org.glassfish.grizzly.http2.Node sibling
         0: .line 69
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
         1: .line 71
            aload 1 /* sibling */
            aload 0 /* this */
            putfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
         2: .line 72
            aload 0 /* this */
            aload 1 /* sibling */
            putfield org.glassfish.grizzly.http2.Node.prev:Lorg/glassfish/grizzly/http2/Node;
         3: .line 73
            aload 1 /* sibling */
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.parent:Lorg/glassfish/grizzly/http2/Node;
            putfield org.glassfish.grizzly.http2.Node.parent:Lorg/glassfish/grizzly/http2/Node;
         4: .line 74
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.parent:Lorg/glassfish/grizzly/http2/Node;
            aload 1 /* sibling */
            putfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
         5: .line 75
            goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 2
         7: .line 76
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
         8: .line 77
            aload 2
            athrow
         9: .line 76
      StackMap locals:
      StackMap stack:
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        10: .line 78
            return
        end local 1 // org.glassfish.grizzly.http2.Node sibling
        end local 0 // org.glassfish.grizzly.http2.Node this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/glassfish/grizzly/http2/Node;
            0   11     1  sibling  Lorg/glassfish/grizzly/http2/Node;
      Exception table:
        from    to  target  type
           1     6       6  any
    MethodParameters:
         Name  Flags
      sibling  final

  protected void addChild(org.glassfish.grizzly.http2.Node);
    descriptor: (Lorg/glassfish/grizzly/http2/Node;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Node this
        start local 1 // org.glassfish.grizzly.http2.Node n
         0: .line 84
            aload 0 /* this */
            aload 1 /* n */
            iconst_0
            invokevirtual org.glassfish.grizzly.http2.Node.addChild:(Lorg/glassfish/grizzly/http2/Node;Z)V
         1: .line 85
            return
        end local 1 // org.glassfish.grizzly.http2.Node n
        end local 0 // org.glassfish.grizzly.http2.Node this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http2/Node;
            0    2     1     n  Lorg/glassfish/grizzly/http2/Node;
    MethodParameters:
      Name  Flags
      n     final

  protected void addChild(org.glassfish.grizzly.http2.Node, boolean);
    descriptor: (Lorg/glassfish/grizzly/http2/Node;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Node this
        start local 1 // org.glassfish.grizzly.http2.Node nodeBeingAddedAsChild
        start local 2 // boolean exclusive
         0: .line 93
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
         1: .line 95
            iload 2 /* exclusive */
            ifeq 19
         2: .line 96
            aload 1 /* nodeBeingAddedAsChild */
            iconst_1
            putfield org.glassfish.grizzly.http2.Node.exclusive:Z
         3: .line 97
            aload 1 /* nodeBeingAddedAsChild */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            ifnull 12
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            ifnull 12
         4: .line 98
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            astore 3 /* tail */
        start local 3 // org.glassfish.grizzly.http2.Node tail
         5: .line 99
            goto 7
         6: .line 100
      StackMap locals: org.glassfish.grizzly.http2.Node
      StackMap stack:
            aload 3 /* tail */
            getfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
            astore 3 /* tail */
         7: .line 99
      StackMap locals:
      StackMap stack:
            aload 3 /* tail */
            getfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
            ifnonnull 6
         8: .line 102
            aload 3 /* tail */
            aload 1 /* nodeBeingAddedAsChild */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            putfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
         9: .line 103
            aload 1 /* nodeBeingAddedAsChild */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            aload 3 /* tail */
            putfield org.glassfish.grizzly.http2.Node.prev:Lorg/glassfish/grizzly/http2/Node;
        10: .line 104
            aload 1 /* nodeBeingAddedAsChild */
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            putfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
        end local 3 // org.glassfish.grizzly.http2.Node tail
        11: .line 105
            goto 14
      StackMap locals:
      StackMap stack:
        12: aload 1 /* nodeBeingAddedAsChild */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            ifnonnull 14
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            ifnull 14
        13: .line 106
            aload 1 /* nodeBeingAddedAsChild */
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            putfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
        14: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
        15: .line 109
            aload 1 /* nodeBeingAddedAsChild */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            ifnull 19
        16: .line 110
            aload 1 /* nodeBeingAddedAsChild */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            astore 3 /* t */
        start local 3 // org.glassfish.grizzly.http2.Node t
        17: .line 112
      StackMap locals: org.glassfish.grizzly.http2.Node
      StackMap stack:
            aload 3 /* t */
            aload 1 /* nodeBeingAddedAsChild */
            putfield org.glassfish.grizzly.http2.Node.parent:Lorg/glassfish/grizzly/http2/Node;
        18: .line 113
            aload 3 /* t */
            getfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
            dup
            astore 3 /* t */
            ifnonnull 17
        end local 3 // org.glassfish.grizzly.http2.Node t
        19: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            ifnonnull 23
        20: .line 117
            aload 0 /* this */
            aload 1 /* nodeBeingAddedAsChild */
            putfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
        21: .line 118
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            aload 0 /* this */
            putfield org.glassfish.grizzly.http2.Node.parent:Lorg/glassfish/grizzly/http2/Node;
        22: .line 119
            goto 28
        23: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            aload 1 /* nodeBeingAddedAsChild */
            invokevirtual org.glassfish.grizzly.http2.Node.addSibling:(Lorg/glassfish/grizzly/http2/Node;)V
        24: .line 122
            goto 28
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: astore 4
        26: .line 123
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        27: .line 124
            aload 4
            athrow
        28: .line 123
      StackMap locals:
      StackMap stack:
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        29: .line 125
            return
        end local 2 // boolean exclusive
        end local 1 // org.glassfish.grizzly.http2.Node nodeBeingAddedAsChild
        end local 0 // org.glassfish.grizzly.http2.Node this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   30     0                   this  Lorg/glassfish/grizzly/http2/Node;
            0   30     1  nodeBeingAddedAsChild  Lorg/glassfish/grizzly/http2/Node;
            0   30     2              exclusive  Z
            5   11     3                   tail  Lorg/glassfish/grizzly/http2/Node;
           17   19     3                      t  Lorg/glassfish/grizzly/http2/Node;
      Exception table:
        from    to  target  type
           1    25      25  any
    MethodParameters:
                       Name  Flags
      nodeBeingAddedAsChild  final
      exclusive              final

  protected org.glassfish.grizzly.http2.Node detach(int);
    descriptor: (I)Lorg/glassfish/grizzly/http2/Node;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Node this
        start local 1 // int id
         0: .line 131
            aload 0 /* this */
            iload 1 /* id */
            iconst_1
            invokevirtual org.glassfish.grizzly.http2.Node.remove:(IZ)Lorg/glassfish/grizzly/http2/Node;
            areturn
        end local 1 // int id
        end local 0 // org.glassfish.grizzly.http2.Node this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Node;
            0    1     1    id  I
    MethodParameters:
      Name  Flags
      id    final

  protected org.glassfish.grizzly.http2.Node remove(int);
    descriptor: (I)Lorg/glassfish/grizzly/http2/Node;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Node this
        start local 1 // int id
         0: .line 139
            aload 0 /* this */
            iload 1 /* id */
            iconst_0
            invokevirtual org.glassfish.grizzly.http2.Node.remove:(IZ)Lorg/glassfish/grizzly/http2/Node;
            areturn
        end local 1 // int id
        end local 0 // org.glassfish.grizzly.http2.Node this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Node;
            0    1     1    id  I
    MethodParameters:
      Name  Flags
      id    final

  protected org.glassfish.grizzly.http2.Node find(int);
    descriptor: (I)Lorg/glassfish/grizzly/http2/Node;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Node this
        start local 1 // int id
         0: .line 147
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.id:I
            iload 1 /* id */
            if_icmpne 2
         1: .line 148
            aload 0 /* this */
            areturn
         2: .line 150
      StackMap locals:
      StackMap stack:
            getstatic org.glassfish.grizzly.http2.Node.readLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock:()V
         3: .line 152
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            ifnull 15
         4: .line 153
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            astore 2 /* n */
        start local 2 // org.glassfish.grizzly.http2.Node n
         5: .line 155
      StackMap locals: org.glassfish.grizzly.http2.Node
      StackMap stack:
            aload 2 /* n */
            getfield org.glassfish.grizzly.http2.Node.id:I
            iload 1 /* id */
            if_icmpne 9
         6: .line 156
            aload 2 /* n */
            astore 5
         7: .line 166
            getstatic org.glassfish.grizzly.http2.Node.readLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock:()V
         8: .line 156
            aload 5
            areturn
         9: .line 158
      StackMap locals:
      StackMap stack:
            aload 2 /* n */
            iload 1 /* id */
            invokevirtual org.glassfish.grizzly.http2.Node.find:(I)Lorg/glassfish/grizzly/http2/Node;
            astore 3 /* result */
        start local 3 // org.glassfish.grizzly.http2.Node result
        10: .line 159
            aload 3 /* result */
            ifnull 14
        11: .line 160
            aload 3 /* result */
            astore 5
        12: .line 166
            getstatic org.glassfish.grizzly.http2.Node.readLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock:()V
        13: .line 160
            aload 5
            areturn
        end local 3 // org.glassfish.grizzly.http2.Node result
        14: .line 162
      StackMap locals:
      StackMap stack:
            aload 2 /* n */
            getfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
            dup
            astore 2 /* n */
            ifnonnull 5
        end local 2 // org.glassfish.grizzly.http2.Node n
        15: .line 166
      StackMap locals:
      StackMap stack:
            getstatic org.glassfish.grizzly.http2.Node.readLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock:()V
        16: .line 164
            aconst_null
            areturn
        17: .line 165
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        18: .line 166
            getstatic org.glassfish.grizzly.http2.Node.readLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock:()V
        19: .line 167
            aload 4
            athrow
        end local 1 // int id
        end local 0 // org.glassfish.grizzly.http2.Node this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0    this  Lorg/glassfish/grizzly/http2/Node;
            0   20     1      id  I
            5   15     2       n  Lorg/glassfish/grizzly/http2/Node;
           10   14     3  result  Lorg/glassfish/grizzly/http2/Node;
      Exception table:
        from    to  target  type
           3     7      17  any
           9    12      17  any
          14    15      17  any
    MethodParameters:
      Name  Flags
      id    final

  private boolean isFirstSibling();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Node this
         0: .line 175
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
            ifnull 1
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.prev:Lorg/glassfish/grizzly/http2/Node;
            ifnonnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Node this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http2/Node;

  private boolean isLastSibling();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Node this
         0: .line 179
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
            ifnonnull 1
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.prev:Lorg/glassfish/grizzly/http2/Node;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Node this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http2/Node;

  private boolean hasSiblings();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Node this
         0: .line 183
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
            ifnonnull 1
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.prev:Lorg/glassfish/grizzly/http2/Node;
            ifnonnull 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Node this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http2/Node;

  private org.glassfish.grizzly.http2.Node remove(int, boolean);
    descriptor: (IZ)Lorg/glassfish/grizzly/http2/Node;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=9, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Node this
        start local 1 // int id
        start local 2 // boolean retainChildren
         0: .line 187
            aload 0 /* this */
            iload 1 /* id */
            invokevirtual org.glassfish.grizzly.http2.Node.find:(I)Lorg/glassfish/grizzly/http2/Node;
            astore 3 /* n */
        start local 3 // org.glassfish.grizzly.http2.Node n
         1: .line 188
            aload 3 /* n */
            ifnull 38
         2: .line 189
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
         3: .line 192
            aload 3 /* n */
            invokevirtual org.glassfish.grizzly.http2.Node.hasSiblings:()Z
            ifeq 15
         4: .line 193
            aload 3 /* n */
            getfield org.glassfish.grizzly.http2.Node.prev:Lorg/glassfish/grizzly/http2/Node;
            astore 4 /* left */
        start local 4 // org.glassfish.grizzly.http2.Node left
         5: .line 194
            aload 3 /* n */
            getfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
            astore 5 /* right */
        start local 5 // org.glassfish.grizzly.http2.Node right
         6: .line 195
            aload 3 /* n */
            invokevirtual org.glassfish.grizzly.http2.Node.isFirstSibling:()Z
            ifeq 10
         7: .line 196
            aload 5 /* right */
            getfield org.glassfish.grizzly.http2.Node.parent:Lorg/glassfish/grizzly/http2/Node;
            aload 5 /* right */
            putfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
         8: .line 197
            aload 5 /* right */
            aconst_null
            putfield org.glassfish.grizzly.http2.Node.prev:Lorg/glassfish/grizzly/http2/Node;
         9: .line 198
            goto 15
      StackMap locals: org.glassfish.grizzly.http2.Node org.glassfish.grizzly.http2.Node org.glassfish.grizzly.http2.Node
      StackMap stack:
        10: aload 3 /* n */
            invokevirtual org.glassfish.grizzly.http2.Node.isLastSibling:()Z
            ifeq 13
        11: .line 199
            aload 4 /* left */
            aconst_null
            putfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
        12: .line 200
            goto 15
        13: .line 202
      StackMap locals:
      StackMap stack:
            aload 4 /* left */
            aload 5 /* right */
            putfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
        14: .line 203
            aload 5 /* right */
            aload 4 /* left */
            putfield org.glassfish.grizzly.http2.Node.prev:Lorg/glassfish/grizzly/http2/Node;
        end local 5 // org.glassfish.grizzly.http2.Node right
        end local 4 // org.glassfish.grizzly.http2.Node left
        15: .line 209
      StackMap locals:
      StackMap stack:
            iload 2 /* retainChildren */
            ifne 27
        16: .line 210
            aload 3 /* n */
            getfield org.glassfish.grizzly.http2.Node.parent:Lorg/glassfish/grizzly/http2/Node;
            astore 4 /* np */
        start local 4 // org.glassfish.grizzly.http2.Node np
        17: .line 211
            aload 3 /* n */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            ifnull 27
        18: .line 212
            aload 3 /* n */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            astore 5 /* t */
        start local 5 // org.glassfish.grizzly.http2.Node t
        19: .line 213
            aconst_null
            astore 6 /* last */
        start local 6 // org.glassfish.grizzly.http2.Node last
        20: .line 215
      StackMap locals: org.glassfish.grizzly.http2.Node org.glassfish.grizzly.http2.Node org.glassfish.grizzly.http2.Node
      StackMap stack:
            aload 5 /* t */
            aload 4 /* np */
            putfield org.glassfish.grizzly.http2.Node.parent:Lorg/glassfish/grizzly/http2/Node;
        21: .line 217
            aload 5 /* t */
            getfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
            ifnonnull 23
        22: .line 218
            aload 5 /* t */
            astore 6 /* last */
        23: .line 220
      StackMap locals:
      StackMap stack:
            aload 5 /* t */
            getfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
            dup
            astore 5 /* t */
            ifnonnull 20
        24: .line 223
            aload 6 /* last */
            aload 4 /* np */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            putfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
        25: .line 224
            aload 4 /* np */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            aload 6 /* last */
            putfield org.glassfish.grizzly.http2.Node.prev:Lorg/glassfish/grizzly/http2/Node;
        26: .line 227
            aload 4 /* np */
            aload 3 /* n */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            putfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
        end local 6 // org.glassfish.grizzly.http2.Node last
        end local 5 // org.glassfish.grizzly.http2.Node t
        end local 4 // org.glassfish.grizzly.http2.Node np
        27: .line 232
      StackMap locals:
      StackMap stack:
            aload 3 /* n */
            aconst_null
            putfield org.glassfish.grizzly.http2.Node.parent:Lorg/glassfish/grizzly/http2/Node;
        28: .line 233
            aload 3 /* n */
            aconst_null
            putfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
        29: .line 234
            aload 3 /* n */
            aconst_null
            putfield org.glassfish.grizzly.http2.Node.prev:Lorg/glassfish/grizzly/http2/Node;
        30: .line 235
            iload 2 /* retainChildren */
            ifne 32
        31: .line 236
            aload 3 /* n */
            aconst_null
            putfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
        32: .line 238
      StackMap locals:
      StackMap stack:
            aload 3 /* n */
            astore 8
        33: .line 240
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        34: .line 238
            aload 8
            areturn
        35: .line 239
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        36: .line 240
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        37: .line 241
            aload 7
            athrow
        38: .line 243
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.glassfish.grizzly.http2.Node n
        end local 2 // boolean retainChildren
        end local 1 // int id
        end local 0 // org.glassfish.grizzly.http2.Node this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   39     0            this  Lorg/glassfish/grizzly/http2/Node;
            0   39     1              id  I
            0   39     2  retainChildren  Z
            1   39     3               n  Lorg/glassfish/grizzly/http2/Node;
            5   15     4            left  Lorg/glassfish/grizzly/http2/Node;
            6   15     5           right  Lorg/glassfish/grizzly/http2/Node;
           17   27     4              np  Lorg/glassfish/grizzly/http2/Node;
           19   27     5               t  Lorg/glassfish/grizzly/http2/Node;
           20   27     6            last  Lorg/glassfish/grizzly/http2/Node;
      Exception table:
        from    to  target  type
           3    33      35  any
    MethodParameters:
                Name  Flags
      id              final
      retainChildren  final
}
SourceFile: "Node.java"
InnerClasses:
  public ReadLock = java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock of java.util.concurrent.locks.ReentrantReadWriteLock
  public WriteLock = java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock of java.util.concurrent.locks.ReentrantReadWriteLock