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 26
            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 27
            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 28
            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 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 40
            aload 0 /* this */
            iload 1 /* id */
            putfield org.glassfish.grizzly.http2.Node.id:I
         2: .line 41
            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 49
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
         1: .line 51
            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 52
            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 53
            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 54
            goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 2
         6: .line 55
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
         7: .line 56
            aload 2
            athrow
         8: .line 55
      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 57
            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 63
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
         1: .line 65
            aload 1 /* sibling */
            aload 0 /* this */
            putfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
         2: .line 66
            aload 0 /* this */
            aload 1 /* sibling */
            putfield org.glassfish.grizzly.http2.Node.prev:Lorg/glassfish/grizzly/http2/Node;
         3: .line 67
            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 68
            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 69
            goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 2
         7: .line 70
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
         8: .line 71
            aload 2
            athrow
         9: .line 70
      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 72
            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 78
            aload 0 /* this */
            aload 1 /* n */
            iconst_0
            invokevirtual org.glassfish.grizzly.http2.Node.addChild:(Lorg/glassfish/grizzly/http2/Node;Z)V
         1: .line 79
            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 86
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
         1: .line 88
            iload 2 /* exclusive */
            ifeq 19
         2: .line 89
            aload 1 /* nodeBeingAddedAsChild */
            iconst_1
            putfield org.glassfish.grizzly.http2.Node.exclusive:Z
         3: .line 90
            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 91
            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 92
            goto 7
         6: .line 93
      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 92
      StackMap locals:
      StackMap stack:
            aload 3 /* tail */
            getfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
            ifnonnull 6
         8: .line 95
            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 96
            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 97
            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 98
            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 99
            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 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
        15: .line 102
            aload 1 /* nodeBeingAddedAsChild */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            ifnull 19
        16: .line 103
            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 105
      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 106
            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 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            ifnonnull 23
        20: .line 110
            aload 0 /* this */
            aload 1 /* nodeBeingAddedAsChild */
            putfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
        21: .line 111
            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 112
            goto 28
        23: .line 113
      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 115
            goto 28
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: astore 4
        26: .line 116
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        27: .line 117
            aload 4
            athrow
        28: .line 116
      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 118
            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 124
            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 131
            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 139
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.id:I
            iload 1 /* id */
            if_icmpne 2
         1: .line 140
            aload 0 /* this */
            areturn
         2: .line 142
      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 144
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            ifnull 15
         4: .line 145
            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 147
      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 148
            aload 2 /* n */
            astore 5
         7: .line 158
            getstatic org.glassfish.grizzly.http2.Node.readLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock:()V
         8: .line 148
            aload 5
            areturn
         9: .line 150
      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 151
            aload 3 /* result */
            ifnull 14
        11: .line 152
            aload 3 /* result */
            astore 5
        12: .line 158
            getstatic org.glassfish.grizzly.http2.Node.readLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock:()V
        13: .line 152
            aload 5
            areturn
        end local 3 // org.glassfish.grizzly.http2.Node result
        14: .line 154
      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 158
      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 156
            aconst_null
            areturn
        17: .line 157
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        18: .line 158
            getstatic org.glassfish.grizzly.http2.Node.readLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock:()V
        19: .line 159
            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 165
            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 169
            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 173
            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 177
            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 178
            aload 3 /* n */
            ifnull 38
         2: .line 179
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
         3: .line 182
            aload 3 /* n */
            invokevirtual org.glassfish.grizzly.http2.Node.hasSiblings:()Z
            ifeq 15
         4: .line 183
            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 184
            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 185
            aload 3 /* n */
            invokevirtual org.glassfish.grizzly.http2.Node.isFirstSibling:()Z
            ifeq 10
         7: .line 186
            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 187
            aload 5 /* right */
            aconst_null
            putfield org.glassfish.grizzly.http2.Node.prev:Lorg/glassfish/grizzly/http2/Node;
         9: .line 188
            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 189
            aload 4 /* left */
            aconst_null
            putfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
        12: .line 190
            goto 15
        13: .line 192
      StackMap locals:
      StackMap stack:
            aload 4 /* left */
            aload 5 /* right */
            putfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
        14: .line 193
            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 199
      StackMap locals:
      StackMap stack:
            iload 2 /* retainChildren */
            ifne 27
        16: .line 200
            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 201
            aload 3 /* n */
            getfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
            ifnull 27
        18: .line 202
            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 203
            aconst_null
            astore 6 /* last */
        start local 6 // org.glassfish.grizzly.http2.Node last
        20: .line 205
      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 207
            aload 5 /* t */
            getfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
            ifnonnull 23
        22: .line 208
            aload 5 /* t */
            astore 6 /* last */
        23: .line 210
      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 213
            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 214
            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 217
            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 222
      StackMap locals:
      StackMap stack:
            aload 3 /* n */
            aconst_null
            putfield org.glassfish.grizzly.http2.Node.parent:Lorg/glassfish/grizzly/http2/Node;
        28: .line 223
            aload 3 /* n */
            aconst_null
            putfield org.glassfish.grizzly.http2.Node.next:Lorg/glassfish/grizzly/http2/Node;
        29: .line 224
            aload 3 /* n */
            aconst_null
            putfield org.glassfish.grizzly.http2.Node.prev:Lorg/glassfish/grizzly/http2/Node;
        30: .line 225
            iload 2 /* retainChildren */
            ifne 32
        31: .line 226
            aload 3 /* n */
            aconst_null
            putfield org.glassfish.grizzly.http2.Node.firstChild:Lorg/glassfish/grizzly/http2/Node;
        32: .line 228
      StackMap locals:
      StackMap stack:
            aload 3 /* n */
            astore 8
        33: .line 230
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        34: .line 228
            aload 8
            areturn
        35: .line 229
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        36: .line 230
            getstatic org.glassfish.grizzly.http2.Node.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        37: .line 231
            aload 7
            athrow
        38: .line 233
      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