public class org.glassfish.grizzly.http2.Http2Session
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.glassfish.grizzly.http2.Http2Session
  super_class: java.lang.Object
{
  private static final java.util.logging.Logger LOGGER;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final boolean isServer;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.glassfish.grizzly.Connection<?> connection;
    descriptor: Lorg/glassfish/grizzly/Connection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/glassfish/grizzly/Connection<*>;

  org.glassfish.grizzly.http2.Http2State http2State;
    descriptor: Lorg/glassfish/grizzly/http2/Http2State;
    flags: (0x0000) 

  private org.glassfish.grizzly.http2.HeadersDecoder headersDecoder;
    descriptor: Lorg/glassfish/grizzly/http2/HeadersDecoder;
    flags: (0x0002) ACC_PRIVATE

  private org.glassfish.grizzly.http2.HeadersEncoder headersEncoder;
    descriptor: Lorg/glassfish/grizzly/http2/HeadersEncoder;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.concurrent.locks.ReentrantLock deflaterLock;
    descriptor: Ljava/util/concurrent/locks/ReentrantLock;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

  private final java.util.concurrent.locks.ReentrantLock newClientStreamLock;
    descriptor: Ljava/util/concurrent/locks/ReentrantLock;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile org.glassfish.grizzly.filterchain.FilterChain http2StreamChain;
    descriptor: Lorg/glassfish/grizzly/filterchain/FilterChain;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile org.glassfish.grizzly.filterchain.FilterChain htt2SessionChain;
    descriptor: Lorg/glassfish/grizzly/filterchain/FilterChain;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<org.glassfish.grizzly.http2.Http2Session> concurrentStreamCountUpdater;
    descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lorg/glassfish/grizzly/http2/Http2Session;>;

  private volatile int concurrentStreamsCount;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final java.util.TreeMap<java.lang.Integer, org.glassfish.grizzly.http2.Http2Stream> streamsMap;
    descriptor: Ljava/util/TreeMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/TreeMap<Ljava/lang/Integer;Lorg/glassfish/grizzly/http2/Http2Stream;>;

  final java.util.List<org.glassfish.grizzly.http2.Http2Stream> streamsToFlushInput;
    descriptor: Ljava/util/List;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/List<Lorg/glassfish/grizzly/http2/Http2Stream;>;

  protected final java.util.List<org.glassfish.grizzly.http2.frames.Http2Frame> tmpHeaderFramesList;
    descriptor: Ljava/util/List;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;

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

  private volatile org.glassfish.grizzly.CloseType closeFlag;
    descriptor: Lorg/glassfish/grizzly/CloseType;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

  private volatile int localStreamWindowSize;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile int localConnectionWindowSize;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile int maxHeaderListSize;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile int localMaxConcurrentStreams;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

  private final org.glassfish.grizzly.http2.Http2SessionOutputSink outputSink;
    descriptor: Lorg/glassfish/grizzly/http2/Http2SessionOutputSink;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.glassfish.grizzly.http2.Http2Configuration http2Configuration;
    descriptor: Lorg/glassfish/grizzly/http2/Http2Configuration;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile int streamsHighWaterMark;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

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

  private org.glassfish.grizzly.impl.FutureImpl<org.glassfish.grizzly.http2.Http2Session> sessionClosed;
    descriptor: Lorg/glassfish/grizzly/impl/FutureImpl;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/glassfish/grizzly/impl/FutureImpl<Lorg/glassfish/grizzly/http2/Http2Session;>;

  private volatile boolean isPrefaceReceived;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile boolean isPrefaceSent;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final org.glassfish.grizzly.utils.Holder<?> addressHolder;
    descriptor: Lorg/glassfish/grizzly/utils/Holder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/glassfish/grizzly/utils/Holder<*>;

  final org.glassfish.grizzly.http2.Http2BaseFilter handlerFilter;
    descriptor: Lorg/glassfish/grizzly/http2/Http2BaseFilter;
    flags: (0x0010) ACC_FINAL

  private final int localMaxFramePayloadSize;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private volatile org.glassfish.grizzly.ssl.SSLBaseFilter sslFilter;
    descriptor: Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final java.util.concurrent.atomic.AtomicInteger unackedReadBytes;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 86
            ldc Lorg/glassfish/grizzly/http2/Http2Session;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.glassfish.grizzly.http2.Http2Session.$assertionsDisabled:Z
         3: .line 87
            ldc Lorg/glassfish/grizzly/http2/Http2Session;
            invokestatic org.glassfish.grizzly.Grizzly.logger:(Ljava/lang/Class;)Ljava/util/logging/Logger;
            putstatic org.glassfish.grizzly.http2.Http2Session.LOGGER:Ljava/util/logging/Logger;
         4: .line 108
            ldc Lorg/glassfish/grizzly/http2/Http2Session;
            ldc "concurrentStreamsCount"
            invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
         5: .line 107
            putstatic org.glassfish.grizzly.http2.Http2Session.concurrentStreamCountUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
         6: .line 108
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.glassfish.grizzly.http2.Http2Session get(org.glassfish.grizzly.Connection);
    descriptor: (Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/http2/Http2Session;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.glassfish.grizzly.Connection connection
         0: .line 154
            aload 0 /* connection */
            invokestatic org.glassfish.grizzly.http2.Http2State.get:(Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/http2/Http2State;
            astore 1 /* http2State */
        start local 1 // org.glassfish.grizzly.http2.Http2State http2State
         1: .line 155
            aload 1 /* http2State */
            ifnull 3
         2: .line 156
            aload 1 /* http2State */
            invokevirtual org.glassfish.grizzly.http2.Http2State.getHttp2Session:()Lorg/glassfish/grizzly/http2/Http2Session;
            goto 4
         3: .line 157
      StackMap locals: org.glassfish.grizzly.http2.Http2State
      StackMap stack:
            aconst_null
         4: .line 155
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.http2.Http2Session
            areturn
        end local 1 // org.glassfish.grizzly.http2.Http2State http2State
        end local 0 // org.glassfish.grizzly.Connection connection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0  connection  Lorg/glassfish/grizzly/Connection;
            1    5     1  http2State  Lorg/glassfish/grizzly/http2/Http2State;
    MethodParameters:
            Name  Flags
      connection  final

  static void bind(org.glassfish.grizzly.Connection, org.glassfish.grizzly.http2.Http2Session);
    descriptor: (Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/http2/Http2Session;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.Connection connection
        start local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
         0: .line 162
            aload 0 /* connection */
            invokestatic org.glassfish.grizzly.http2.Http2State.obtain:(Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/http2/Http2State;
            aload 1 /* http2Session */
            invokevirtual org.glassfish.grizzly.http2.Http2State.setHttp2Session:(Lorg/glassfish/grizzly/http2/Http2Session;)V
         1: .line 163
            return
        end local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        end local 0 // org.glassfish.grizzly.Connection connection
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0    connection  Lorg/glassfish/grizzly/Connection;
            0    2     1  http2Session  Lorg/glassfish/grizzly/http2/Http2Session;
    MethodParameters:
              Name  Flags
      connection    final
      http2Session  final

  public void <init>(org.glassfish.grizzly.Connection<?>, boolean, org.glassfish.grizzly.http2.Http2BaseFilter);
    descriptor: (Lorg/glassfish/grizzly/Connection;ZLorg/glassfish/grizzly/http2/Http2BaseFilter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.Connection connection
        start local 2 // boolean isServer
        start local 3 // org.glassfish.grizzly.http2.Http2BaseFilter handlerFilter
         0: .line 177
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 96
            aload 0 /* this */
            new java.util.concurrent.locks.ReentrantLock
            dup
            invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
            putfield org.glassfish.grizzly.http2.Http2Session.deflaterLock:Ljava/util/concurrent/locks/ReentrantLock;
         2: .line 100
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.http2.Http2Session.pushEnabled:Z
         3: .line 102
            aload 0 /* this */
            new java.util.concurrent.locks.ReentrantLock
            dup
            invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
            putfield org.glassfish.grizzly.http2.Http2Session.newClientStreamLock:Ljava/util/concurrent/locks/ReentrantLock;
         4: .line 112
            aload 0 /* this */
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            putfield org.glassfish.grizzly.http2.Http2Session.streamsMap:Ljava/util/TreeMap;
         5: .line 117
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.glassfish.grizzly.http2.Http2Session.streamsToFlushInput:Ljava/util/List;
         6: .line 121
            aload 0 /* this */
         7: .line 122
            new java.util.ArrayList
            dup
            iconst_2
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.glassfish.grizzly.http2.Http2Session.tmpHeaderFramesList:Ljava/util/List;
         8: .line 124
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.glassfish.grizzly.http2.Http2Session.sessionLock:Ljava/lang/Object;
         9: .line 128
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getDefaultStreamWindowSize:()I
            putfield org.glassfish.grizzly.http2.Http2Session.peerStreamWindowSize:I
        10: .line 129
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getDefaultStreamWindowSize:()I
            putfield org.glassfish.grizzly.http2.Http2Session.localStreamWindowSize:I
        11: .line 131
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getDefaultConnectionWindowSize:()I
            putfield org.glassfish.grizzly.http2.Http2Session.localConnectionWindowSize:I
        12: .line 135
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getDefaultMaxConcurrentStreams:()I
            putfield org.glassfish.grizzly.http2.Http2Session.localMaxConcurrentStreams:I
        13: .line 136
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getDefaultMaxConcurrentStreams:()I
            putfield org.glassfish.grizzly.http2.Http2Session.peerMaxConcurrentStreams:I
        14: .line 145
            aload 0 /* this */
            ldc -2147483648
            putfield org.glassfish.grizzly.http2.Http2Session.goingAwayLastStreamId:I
        15: .line 170
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getSpecDefaultFramePayloadSize:()I
            putfield org.glassfish.grizzly.http2.Http2Session.peerMaxFramePayloadSize:I
        16: .line 172
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.http2.Http2Session.isFirstInFrame:Z
        17: .line 175
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            putfield org.glassfish.grizzly.http2.Http2Session.unackedReadBytes:Ljava/util/concurrent/atomic/AtomicInteger;
        18: .line 180
            aload 0 /* this */
            aload 1 /* connection */
            putfield org.glassfish.grizzly.http2.Http2Session.connection:Lorg/glassfish/grizzly/Connection;
        19: .line 181
            aload 1 /* connection */
            invokeinterface org.glassfish.grizzly.Connection.getProcessor:()Lorg/glassfish/grizzly/Processor;
            checkcast org.glassfish.grizzly.filterchain.FilterChain
            astore 4 /* chain */
        start local 4 // org.glassfish.grizzly.filterchain.FilterChain chain
        20: .line 182
            aload 4 /* chain */
            ldc Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
            invokeinterface org.glassfish.grizzly.filterchain.FilterChain.indexOfType:(Ljava/lang/Class;)I
            istore 5 /* sslIdx */
        start local 5 // int sslIdx
        21: .line 183
            iload 5 /* sslIdx */
            iconst_m1
            if_icmpeq 23
        22: .line 184
            aload 0 /* this */
            aload 4 /* chain */
            iload 5 /* sslIdx */
            invokeinterface org.glassfish.grizzly.filterchain.FilterChain.get:(I)Ljava/lang/Object;
            checkcast org.glassfish.grizzly.ssl.SSLBaseFilter
            putfield org.glassfish.grizzly.http2.Http2Session.sslFilter:Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
        23: .line 186
      StackMap locals: org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.Connection int org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.filterchain.FilterChain int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* isServer */
            putfield org.glassfish.grizzly.http2.Http2Session.isServer:Z
        24: .line 187
            aload 0 /* this */
            aload 3 /* handlerFilter */
            putfield org.glassfish.grizzly.http2.Http2Session.handlerFilter:Lorg/glassfish/grizzly/http2/Http2BaseFilter;
        25: .line 189
            aload 0 /* this */
            aload 3 /* handlerFilter */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.getConfiguration:()Lorg/glassfish/grizzly/http2/Http2Configuration;
            putfield org.glassfish.grizzly.http2.Http2Session.http2Configuration:Lorg/glassfish/grizzly/http2/Http2Configuration;
        26: .line 190
            aload 0 /* this */
        27: .line 192
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getDefaultMaxConcurrentStreams:()I
            i2f
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.http2Configuration:Lorg/glassfish/grizzly/http2/Http2Configuration;
            invokevirtual org.glassfish.grizzly.http2.Http2Configuration.getStreamsHighWaterMark:()F
            fmul
        28: .line 191
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
        29: .line 193
            invokevirtual java.lang.Float.intValue:()I
        30: .line 190
            putfield org.glassfish.grizzly.http2.Http2Session.streamsHighWaterMark:I
        31: .line 196
            aload 3 /* handlerFilter */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.getLocalMaxFramePayloadSize:()I
            ifle 33
        32: .line 197
            aload 3 /* handlerFilter */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.getLocalMaxFramePayloadSize:()I
            goto 34
        33: .line 198
      StackMap locals:
      StackMap stack:
            iconst_m1
        34: .line 195
      StackMap locals:
      StackMap stack: int
            istore 6 /* customMaxFramePayloadSz */
        start local 6 // int customMaxFramePayloadSz
        35: .line 201
            aload 0 /* this */
        36: .line 202
            iload 6 /* customMaxFramePayloadSz */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getSpecMinFramePayloadSize:()I
            if_icmplt 39
        37: .line 203
            iload 6 /* customMaxFramePayloadSz */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getSpecMaxFramePayloadSize:()I
            if_icmpgt 39
        38: .line 204
            iload 6 /* customMaxFramePayloadSz */
            goto 40
        39: .line 205
      StackMap locals: org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.Connection int org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.filterchain.FilterChain int int
      StackMap stack: org.glassfish.grizzly.http2.Http2Session
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getSpecDefaultFramePayloadSize:()I
        40: .line 201
      StackMap locals: org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.Connection int org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.filterchain.FilterChain int int
      StackMap stack: org.glassfish.grizzly.http2.Http2Session int
            putfield org.glassfish.grizzly.http2.Http2Session.localMaxFramePayloadSize:I
        41: .line 207
            aload 0 /* this */
            aload 3 /* handlerFilter */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.getConfiguration:()Lorg/glassfish/grizzly/http2/Http2Configuration;
            invokevirtual org.glassfish.grizzly.http2.Http2Configuration.getMaxHeaderListSize:()I
            putfield org.glassfish.grizzly.http2.Http2Session.maxHeaderListSize:I
        42: .line 209
            iload 2 /* isServer */
            ifeq 46
        43: .line 210
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.grizzly.http2.Http2Session.lastLocalStreamId:I
        44: .line 211
            aload 0 /* this */
            iconst_m1
            putfield org.glassfish.grizzly.http2.Http2Session.lastPeerStreamId:I
        45: .line 212
            goto 48
        46: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield org.glassfish.grizzly.http2.Http2Session.lastLocalStreamId:I
        47: .line 214
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.grizzly.http2.Http2Session.lastPeerStreamId:I
        48: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.glassfish.grizzly.http2.Http2Session$1
            dup
            aload 0 /* this */
            aload 1 /* connection */
            invokespecial org.glassfish.grizzly.http2.Http2Session$1.<init>:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/Connection;)V
            invokestatic org.glassfish.grizzly.utils.Holder.lazyHolder:(Lorg/glassfish/grizzly/utils/NullaryFunction;)Lorg/glassfish/grizzly/utils/Holder$LazyHolder;
            putfield org.glassfish.grizzly.http2.Http2Session.addressHolder:Lorg/glassfish/grizzly/utils/Holder;
        49: .line 224
            aload 1 /* connection */
            new org.glassfish.grizzly.http2.Http2Session$ConnectionCloseListener
            dup
            aload 0 /* this */
            invokespecial org.glassfish.grizzly.http2.Http2Session$ConnectionCloseListener.<init>:(Lorg/glassfish/grizzly/http2/Http2Session;)V
            invokeinterface org.glassfish.grizzly.Connection.addCloseListener:(Lorg/glassfish/grizzly/CloseListener;)V
        50: .line 226
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.newOutputSink:()Lorg/glassfish/grizzly/http2/Http2SessionOutputSink;
            putfield org.glassfish.grizzly.http2.Http2Session.outputSink:Lorg/glassfish/grizzly/http2/Http2SessionOutputSink;
        51: .line 228
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.http2.NetLogger.logOpen:(Lorg/glassfish/grizzly/http2/Http2Session;)V
        52: .line 229
            return
        end local 6 // int customMaxFramePayloadSz
        end local 5 // int sslIdx
        end local 4 // org.glassfish.grizzly.filterchain.FilterChain chain
        end local 3 // org.glassfish.grizzly.http2.Http2BaseFilter handlerFilter
        end local 2 // boolean isServer
        end local 1 // org.glassfish.grizzly.Connection connection
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   53     0                     this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   53     1               connection  Lorg/glassfish/grizzly/Connection<*>;
            0   53     2                 isServer  Z
            0   53     3            handlerFilter  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
           20   53     4                    chain  Lorg/glassfish/grizzly/filterchain/FilterChain;
           21   53     5                   sslIdx  I
           35   53     6  customMaxFramePayloadSz  I
    Signature: (Lorg/glassfish/grizzly/Connection<*>;ZLorg/glassfish/grizzly/http2/Http2BaseFilter;)V
    MethodParameters:
               Name  Flags
      connection     final
      isServer       final
      handlerFilter  final

  protected org.glassfish.grizzly.http2.Http2SessionOutputSink newOutputSink();
    descriptor: ()Lorg/glassfish/grizzly/http2/Http2SessionOutputSink;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 232
            new org.glassfish.grizzly.http2.Http2SessionOutputSink
            dup
            aload 0 /* this */
            invokespecial org.glassfish.grizzly.http2.Http2SessionOutputSink.<init>:(Lorg/glassfish/grizzly/http2/Http2Session;)V
            areturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  protected int getSpecDefaultFramePayloadSize();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 236
            sipush 16384
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  protected int getSpecMinFramePayloadSize();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 240
            sipush 16384
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  protected int getSpecMaxFramePayloadSize();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 244
            ldc 16777215
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  public int getDefaultConnectionWindowSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 248
            ldc 65535
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  public int getDefaultStreamWindowSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 252
            ldc 65535
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  public int getDefaultMaxConcurrentStreams();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 256
            bipush 100
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  public int getMaxHeaderListSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 264
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.maxHeaderListSize:I
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  public void setMaxHeaderListSize(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // int maxHeaderListSize
         0: .line 274
            aload 0 /* this */
            iload 1 /* maxHeaderListSize */
            putfield org.glassfish.grizzly.http2.Http2Session.maxHeaderListSize:I
         1: .line 275
            return
        end local 1 // int maxHeaderListSize
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    2     1  maxHeaderListSize  I
    MethodParameters:
                   Name  Flags
      maxHeaderListSize  

  protected int getFrameSize(org.glassfish.grizzly.Buffer);
    descriptor: (Lorg/glassfish/grizzly/Buffer;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.Buffer buffer
         0: .line 287
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.remaining:()I
            iconst_4
            if_icmpge 2
         1: .line 288
            iconst_m1
            goto 3
         2: .line 289
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.position:()I
            invokeinterface org.glassfish.grizzly.Buffer.getInt:(I)I
            bipush 8
            iushr
            bipush 9
            iadd
         3: .line 287
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 1 // org.glassfish.grizzly.Buffer buffer
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    4     1  buffer  Lorg/glassfish/grizzly/Buffer;
    MethodParameters:
        Name  Flags
      buffer  final

  public org.glassfish.grizzly.http2.frames.Http2Frame parseHttp2FrameHeader(org.glassfish.grizzly.Buffer);
    descriptor: (Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http2/frames/Http2Frame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.Buffer buffer
         0: .line 295
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getFrameSize:(Lorg/glassfish/grizzly/Buffer;)I
            istore 2 /* len */
        start local 2 // int len
         1: .line 296
            getstatic org.glassfish.grizzly.http2.Http2Session.$assertionsDisabled:Z
            ifne 2
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.remaining:()I
            iload 2 /* len */
            if_icmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 298
      StackMap locals: int
      StackMap stack:
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.getInt:()I
            istore 3 /* i1 */
        start local 3 // int i1
         3: .line 300
            iload 3 /* i1 */
            sipush 255
            iand
            istore 4 /* type */
        start local 4 // int type
         4: .line 302
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.get:()B
            sipush 255
            iand
            istore 5 /* flags */
        start local 5 // int flags
         5: .line 303
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.getInt:()I
            ldc 2147483647
            iand
            istore 6 /* streamId */
        start local 6 // int streamId
         6: .line 305
            iload 4 /* type */
            tableswitch { // 0 - 9
                    0: 7
                    1: 8
                    2: 9
                    3: 10
                    4: 11
                    5: 12
                    6: 13
                    7: 14
                    8: 15
                    9: 16
              default: 17
          }
         7: .line 307
      StackMap locals: org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.Buffer int int int int int
      StackMap stack:
            iload 5 /* flags */
            iload 6 /* streamId */
            aload 1 /* buffer */
            invokestatic org.glassfish.grizzly.http2.frames.DataFrame.fromBuffer:(IILorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http2/frames/DataFrame;
            areturn
         8: .line 309
      StackMap locals:
      StackMap stack:
            iload 5 /* flags */
            iload 6 /* streamId */
            aload 1 /* buffer */
            invokestatic org.glassfish.grizzly.http2.frames.HeadersFrame.fromBuffer:(IILorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http2/frames/HeadersFrame;
            areturn
         9: .line 311
      StackMap locals:
      StackMap stack:
            iload 6 /* streamId */
            aload 1 /* buffer */
            invokestatic org.glassfish.grizzly.http2.frames.PriorityFrame.fromBuffer:(ILorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http2/frames/Http2Frame;
            areturn
        10: .line 313
      StackMap locals:
      StackMap stack:
            iload 5 /* flags */
            iload 6 /* streamId */
            aload 1 /* buffer */
            invokestatic org.glassfish.grizzly.http2.frames.RstStreamFrame.fromBuffer:(IILorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http2/frames/Http2Frame;
            areturn
        11: .line 315
      StackMap locals:
      StackMap stack:
            iload 5 /* flags */
            iload 6 /* streamId */
            aload 1 /* buffer */
            invokestatic org.glassfish.grizzly.http2.frames.SettingsFrame.fromBuffer:(IILorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http2/frames/SettingsFrame;
            areturn
        12: .line 317
      StackMap locals:
      StackMap stack:
            iload 5 /* flags */
            iload 6 /* streamId */
            aload 1 /* buffer */
            invokestatic org.glassfish.grizzly.http2.frames.PushPromiseFrame.fromBuffer:(IILorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http2/frames/PushPromiseFrame;
            areturn
        13: .line 319
      StackMap locals:
      StackMap stack:
            iload 5 /* flags */
            iload 6 /* streamId */
            aload 1 /* buffer */
            invokestatic org.glassfish.grizzly.http2.frames.PingFrame.fromBuffer:(IILorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http2/frames/Http2Frame;
            areturn
        14: .line 321
      StackMap locals:
      StackMap stack:
            iload 6 /* streamId */
            aload 1 /* buffer */
            invokestatic org.glassfish.grizzly.http2.frames.GoAwayFrame.fromBuffer:(ILorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http2/frames/Http2Frame;
            areturn
        15: .line 323
      StackMap locals:
      StackMap stack:
            iload 5 /* flags */
            iload 6 /* streamId */
            aload 1 /* buffer */
            invokestatic org.glassfish.grizzly.http2.frames.WindowUpdateFrame.fromBuffer:(IILorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http2/frames/Http2Frame;
            areturn
        16: .line 325
      StackMap locals:
      StackMap stack:
            iload 5 /* flags */
            iload 6 /* streamId */
            aload 1 /* buffer */
            invokestatic org.glassfish.grizzly.http2.frames.ContinuationFrame.fromBuffer:(IILorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http2/frames/ContinuationFrame;
            areturn
        17: .line 327
      StackMap locals:
      StackMap stack:
            new org.glassfish.grizzly.http2.frames.UnknownFrame
            dup
            iload 4 /* type */
            iload 2 /* len */
            invokespecial org.glassfish.grizzly.http2.frames.UnknownFrame.<init>:(II)V
            areturn
        end local 6 // int streamId
        end local 5 // int flags
        end local 4 // int type
        end local 3 // int i1
        end local 2 // int len
        end local 1 // org.glassfish.grizzly.Buffer buffer
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   18     1    buffer  Lorg/glassfish/grizzly/Buffer;
            1   18     2       len  I
            3   18     3        i1  I
            4   18     4      type  I
            5   18     5     flags  I
            6   18     6  streamId  I
    Exceptions:
      throws org.glassfish.grizzly.http2.Http2SessionException
    MethodParameters:
        Name  Flags
      buffer  final

  protected org.glassfish.grizzly.http2.Http2Stream newStream(org.glassfish.grizzly.http.HttpRequestPacket, int, int, boolean, int);
    descriptor: (Lorg/glassfish/grizzly/http/HttpRequestPacket;IIZI)Lorg/glassfish/grizzly/http2/Http2Stream;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=6, args_size=6
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.http.HttpRequestPacket request
        start local 2 // int streamId
        start local 3 // int refStreamId
        start local 4 // boolean exclusive
        start local 5 // int priority
         0: .line 335
            new org.glassfish.grizzly.http2.Http2Stream
            dup
            aload 0 /* this */
            aload 1 /* request */
            iload 2 /* streamId */
            iload 3 /* refStreamId */
         1: .line 336
            iload 4 /* exclusive */
            iload 5 /* priority */
         2: .line 335
            invokespecial org.glassfish.grizzly.http2.Http2Stream.<init>:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http/HttpRequestPacket;IIZI)V
            areturn
        end local 5 // int priority
        end local 4 // boolean exclusive
        end local 3 // int refStreamId
        end local 2 // int streamId
        end local 1 // org.glassfish.grizzly.http.HttpRequestPacket request
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    3     1      request  Lorg/glassfish/grizzly/http/HttpRequestPacket;
            0    3     2     streamId  I
            0    3     3  refStreamId  I
            0    3     4    exclusive  Z
            0    3     5     priority  I
    MethodParameters:
             Name  Flags
      request      final
      streamId     final
      refStreamId  final
      exclusive    final
      priority     final

  protected org.glassfish.grizzly.http2.Http2Stream newUpgradeStream(org.glassfish.grizzly.http.HttpRequestPacket, int);
    descriptor: (Lorg/glassfish/grizzly/http/HttpRequestPacket;I)Lorg/glassfish/grizzly/http2/Http2Stream;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.http.HttpRequestPacket request
        start local 2 // int priority
         0: .line 341
            new org.glassfish.grizzly.http2.Http2Stream
            dup
            aload 0 /* this */
            aload 1 /* request */
            iload 2 /* priority */
            invokespecial org.glassfish.grizzly.http2.Http2Stream.<init>:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http/HttpRequestPacket;I)V
            areturn
        end local 2 // int priority
        end local 1 // org.glassfish.grizzly.http.HttpRequestPacket request
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    1     1   request  Lorg/glassfish/grizzly/http/HttpRequestPacket;
            0    1     2  priority  I
    MethodParameters:
          Name  Flags
      request   final
      priority  final

  protected void checkFrameSequenceSemantics(org.glassfish.grizzly.http2.frames.Http2Frame);
    descriptor: (Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.http2.frames.Http2Frame frame
         0: .line 347
            aload 1 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getType:()I
            istore 2 /* frameType */
        start local 2 // int frameType
         1: .line 349
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.isFirstInFrame:Z
            ifeq 10
         2: .line 350
            iload 2 /* frameType */
            iconst_4
            if_icmpeq 6
         3: .line 351
            getstatic org.glassfish.grizzly.http2.Http2Session.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 5
         4: .line 352
            getstatic org.glassfish.grizzly.http2.Http2Session.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "First in frame should be a SettingsFrame (preface)"
            aload 1 /* frame */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 355
      StackMap locals: int
      StackMap stack:
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;)V
            athrow
         6: .line 358
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.http2.Http2Session.isPrefaceReceived:Z
         7: .line 359
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.handlerFilter:Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.onPrefaceReceived:(Lorg/glassfish/grizzly/http2/Http2Session;)V
         8: .line 362
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.connection:Lorg/glassfish/grizzly/Connection;
            invokestatic org.glassfish.grizzly.http2.Http2State.get:(Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/http2/Http2State;
            invokevirtual org.glassfish.grizzly.http2.Http2State.setOpen:()V
         9: .line 364
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.grizzly.http2.Http2Session.isFirstInFrame:Z
        10: .line 368
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isParsingHeaders:()Z
            ifeq 15
        11: .line 369
            iload 2 /* frameType */
            bipush 9
            if_icmpeq 19
        12: .line 370
            getstatic org.glassfish.grizzly.http2.Http2Session.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 14
        13: .line 371
            getstatic org.glassfish.grizzly.http2.Http2Session.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "ContinuationFrame is expected, but {0} came"
            aload 1 /* frame */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
        14: .line 374
      StackMap locals:
      StackMap stack:
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;)V
            athrow
        15: .line 376
      StackMap locals:
      StackMap stack:
            iload 2 /* frameType */
            bipush 9
            if_icmpne 19
        16: .line 378
            getstatic org.glassfish.grizzly.http2.Http2Session.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 18
        17: .line 379
            getstatic org.glassfish.grizzly.http2.Http2Session.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "ContinuationFrame is not expected"
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        18: .line 382
      StackMap locals:
      StackMap stack:
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;)V
            athrow
        19: .line 384
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int frameType
        end local 1 // org.glassfish.grizzly.http2.frames.Http2Frame frame
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   20     1      frame  Lorg/glassfish/grizzly/http2/frames/Http2Frame;
            1   20     2  frameType  I
    Exceptions:
      throws org.glassfish.grizzly.http2.Http2SessionException
    MethodParameters:
       Name  Flags
      frame  final

  protected void onOversizedFrame(org.glassfish.grizzly.Buffer);
    descriptor: (Lorg/glassfish/grizzly/Buffer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.Buffer buffer
         0: .line 389
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.position:()I
            istore 2 /* oldPos */
        start local 2 // int oldPos
         1: .line 391
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.FRAME_SIZE_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;)V
            athrow
         2: .line 392
      StackMap locals: org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.Buffer int
      StackMap stack: java.lang.Throwable
            astore 3
         3: .line 393
            aload 1 /* buffer */
            iload 2 /* oldPos */
            invokeinterface org.glassfish.grizzly.Buffer.position:(I)Lorg/glassfish/grizzly/Buffer;
            pop
         4: .line 394
            aload 3
            athrow
        end local 2 // int oldPos
        end local 1 // org.glassfish.grizzly.Buffer buffer
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    5     1  buffer  Lorg/glassfish/grizzly/Buffer;
            1    5     2  oldPos  I
      Exception table:
        from    to  target  type
           1     2       2  any
    Exceptions:
      throws org.glassfish.grizzly.http2.Http2SessionException
    MethodParameters:
        Name  Flags
      buffer  final

  boolean isParsingHeaders();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 398
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.headersDecoder:Lorg/glassfish/grizzly/http2/HeadersDecoder;
            ifnull 1
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.headersDecoder:Lorg/glassfish/grizzly/http2/HeadersDecoder;
            invokevirtual org.glassfish.grizzly.http2.HeadersDecoder.isProcessingHeaders:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  public final int getLocalMaxFramePayloadSize();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 405
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.localMaxFramePayloadSize:I
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  public int getPeerMaxFramePayloadSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 413
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.peerMaxFramePayloadSize:I
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  protected void setPeerMaxFramePayloadSize(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // int peerMaxFramePayloadSize
         0: .line 425
            iload 1 /* peerMaxFramePayloadSize */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getSpecMinFramePayloadSize:()I
            if_icmplt 2
         1: .line 426
            iload 1 /* peerMaxFramePayloadSize */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getSpecMaxFramePayloadSize:()I
            if_icmple 3
         2: .line 427
      StackMap locals:
      StackMap stack:
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.FRAME_SIZE_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;)V
            athrow
         3: .line 429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* peerMaxFramePayloadSize */
            putfield org.glassfish.grizzly.http2.Http2Session.peerMaxFramePayloadSize:I
         4: .line 430
            return
        end local 1 // int peerMaxFramePayloadSize
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    5     0                     this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    5     1  peerMaxFramePayloadSize  I
    Exceptions:
      throws org.glassfish.grizzly.http2.Http2SessionException
    MethodParameters:
                         Name  Flags
      peerMaxFramePayloadSize  final

  public int getLocalStreamWindowSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 434
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.localStreamWindowSize:I
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  public void setLocalStreamWindowSize(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // int localStreamWindowSize
         0: .line 438
            aload 0 /* this */
            iload 1 /* localStreamWindowSize */
            putfield org.glassfish.grizzly.http2.Http2Session.localStreamWindowSize:I
         1: .line 439
            return
        end local 1 // int localStreamWindowSize
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    2     1  localStreamWindowSize  I
    MethodParameters:
                       Name  Flags
      localStreamWindowSize  

  public int getPeerStreamWindowSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 442
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.peerStreamWindowSize:I
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  void setPeerStreamWindowSize(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // int peerStreamWindowSize
         0: .line 446
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 447
            iload 1 /* peerStreamWindowSize */
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.peerStreamWindowSize:I
            isub
            istore 3 /* delta */
        start local 3 // int delta
         2: .line 449
            aload 0 /* this */
            iload 1 /* peerStreamWindowSize */
            putfield org.glassfish.grizzly.http2.Http2Session.peerStreamWindowSize:I
         3: .line 451
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.streamsMap:Ljava/util/TreeMap;
            invokevirtual java.util.TreeMap.isEmpty:()Z
            ifne 10
         4: .line 452
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.streamsMap:Ljava/util/TreeMap;
            invokevirtual java.util.TreeMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: org.glassfish.grizzly.http2.Http2Session int java.lang.Object int top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.glassfish.grizzly.http2.Http2Stream
            astore 4 /* stream */
        start local 4 // org.glassfish.grizzly.http2.Http2Stream stream
         6: .line 453
            aload 4 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Stream.isClosed:()Z
            ifeq 8
         7: .line 454
            goto 9
         8: .line 456
      StackMap locals: org.glassfish.grizzly.http2.Http2Session int java.lang.Object int org.glassfish.grizzly.http2.Http2Stream java.util.Iterator
      StackMap stack:
            aload 4 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Stream.getOutputSink:()Lorg/glassfish/grizzly/http2/StreamOutputSink;
            iload 3 /* delta */
            invokeinterface org.glassfish.grizzly.http2.StreamOutputSink.onPeerWindowUpdate:(I)V
        end local 4 // org.glassfish.grizzly.http2.Http2Stream stream
         9: .line 452
      StackMap locals: org.glassfish.grizzly.http2.Http2Session int java.lang.Object int top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 3 // int delta
        10: .line 446
      StackMap locals: org.glassfish.grizzly.http2.Http2Session int java.lang.Object
      StackMap stack:
            aload 2
            monitorexit
        11: goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: aload 2
            monitorexit
        13: athrow
        14: .line 461
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int peerStreamWindowSize
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   15     0                  this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   15     1  peerStreamWindowSize  I
            2   10     3                 delta  I
            6    9     4                stream  Lorg/glassfish/grizzly/http2/Http2Stream;
      Exception table:
        from    to  target  type
           1    11      12  any
          12    13      12  any
    Exceptions:
      throws org.glassfish.grizzly.http2.Http2StreamException
    MethodParameters:
                      Name  Flags
      peerStreamWindowSize  final

  public int getLocalConnectionWindowSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 464
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.localConnectionWindowSize:I
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  public void setLocalConnectionWindowSize(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // int localConnectionWindowSize
         0: .line 469
            aload 0 /* this */
            iload 1 /* localConnectionWindowSize */
            putfield org.glassfish.grizzly.http2.Http2Session.localConnectionWindowSize:I
         1: .line 470
            return
        end local 1 // int localConnectionWindowSize
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    2     0                       this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    2     1  localConnectionWindowSize  I
    MethodParameters:
                           Name  Flags
      localConnectionWindowSize  final

  public int getAvailablePeerConnectionWindowSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 474
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.outputSink:Lorg/glassfish/grizzly/http2/Http2SessionOutputSink;
            invokevirtual org.glassfish.grizzly.http2.Http2SessionOutputSink.getAvailablePeerConnectionWindowSize:()I
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  public int getLocalMaxConcurrentStreams();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 481
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.localMaxConcurrentStreams:I
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  public void setLocalMaxConcurrentStreams(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // int localMaxConcurrentStreams
         0: .line 489
            aload 0 /* this */
            iload 1 /* localMaxConcurrentStreams */
            putfield org.glassfish.grizzly.http2.Http2Session.localMaxConcurrentStreams:I
         1: .line 490
            aload 0 /* this */
            iload 1 /* localMaxConcurrentStreams */
            i2f
            ldc 0.5
            fmul
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            invokevirtual java.lang.Float.intValue:()I
            putfield org.glassfish.grizzly.http2.Http2Session.streamsHighWaterMark:I
         2: .line 491
            return
        end local 1 // int localMaxConcurrentStreams
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    3     0                       this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    3     1  localMaxConcurrentStreams  I
    MethodParameters:
                           Name  Flags
      localMaxConcurrentStreams  

  public int getPeerMaxConcurrentStreams();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 498
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.peerMaxConcurrentStreams:I
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  void setPeerMaxConcurrentStreams(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // int peerMaxConcurrentStreams
         0: .line 505
            aload 0 /* this */
            iload 1 /* peerMaxConcurrentStreams */
            putfield org.glassfish.grizzly.http2.Http2Session.peerMaxConcurrentStreams:I
         1: .line 506
            return
        end local 1 // int peerMaxConcurrentStreams
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    2     0                      this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    2     1  peerMaxConcurrentStreams  I
    MethodParameters:
                          Name  Flags
      peerMaxConcurrentStreams  

  public boolean isPushEnabled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 513
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.pushEnabled:Z
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  public void setPushEnabled(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // boolean pushEnabled
         0: .line 522
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isGoingAway:()Z
            ifeq 2
         1: .line 523
            return
         2: .line 525
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* pushEnabled */
            putfield org.glassfish.grizzly.http2.Http2Session.pushEnabled:Z
         3: .line 526
            return
        end local 1 // boolean pushEnabled
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    4     1  pushEnabled  Z
    MethodParameters:
             Name  Flags
      pushEnabled  final

  public int getNextLocalStreamId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 530
            aload 0 /* this */
            dup
            getfield org.glassfish.grizzly.http2.Http2Session.lastLocalStreamId:I
            iconst_2
            iadd
            putfield org.glassfish.grizzly.http2.Http2Session.lastLocalStreamId:I
         1: .line 531
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.lastLocalStreamId:I
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  public org.glassfish.grizzly.Connection getConnection();
    descriptor: ()Lorg/glassfish/grizzly/Connection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 535
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.connection:Lorg/glassfish/grizzly/Connection;
            areturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  public org.glassfish.grizzly.memory.MemoryManager getMemoryManager();
    descriptor: ()Lorg/glassfish/grizzly/memory/MemoryManager;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 539
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.connection:Lorg/glassfish/grizzly/Connection;
            invokeinterface org.glassfish.grizzly.Connection.getMemoryManager:()Lorg/glassfish/grizzly/memory/MemoryManager;
            areturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  public boolean isServer();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 543
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.isServer:Z
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  public boolean isLocallyInitiatedStream(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // int streamId
         0: .line 547
            getstatic org.glassfish.grizzly.http2.Http2Session.$assertionsDisabled:Z
            ifne 1
            iload 1 /* streamId */
            ifgt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 549
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isServer:()Z
            iload 1 /* streamId */
            iconst_2
            irem
            ifeq 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack: int
         2: iconst_0
      StackMap locals: org.glassfish.grizzly.http2.Http2Session int
      StackMap stack: int int
         3: ixor
            ireturn
        end local 1 // int streamId
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    4     1  streamId  I
    MethodParameters:
          Name  Flags
      streamId  final

  org.glassfish.grizzly.http2.Http2State getHttp2State();
    descriptor: ()Lorg/glassfish/grizzly/http2/Http2State;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 558
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.http2State:Lorg/glassfish/grizzly/http2/Http2State;
            areturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  boolean isHttp2InputEnabled();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 562
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.isPrefaceReceived:Z
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  boolean isHttp2OutputEnabled();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 566
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.isPrefaceSent:Z
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  public org.glassfish.grizzly.http2.Http2Stream getStream(int);
    descriptor: (I)Lorg/glassfish/grizzly/http2/Http2Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // int streamId
         0: .line 570
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.streamsMap:Ljava/util/TreeMap;
            iload 1 /* streamId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.glassfish.grizzly.http2.Http2Stream
            areturn
        end local 1 // int streamId
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    1     1  streamId  I
    MethodParameters:
          Name  Flags
      streamId  final

  protected org.glassfish.grizzly.http2.Http2SessionOutputSink getOutputSink();
    descriptor: ()Lorg/glassfish/grizzly/http2/Http2SessionOutputSink;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 574
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.outputSink:Lorg/glassfish/grizzly/http2/Http2SessionOutputSink;
            areturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  org.glassfish.grizzly.impl.FutureImpl<org.glassfish.grizzly.http2.Http2Session> terminateGracefully();
    descriptor: ()Lorg/glassfish/grizzly/impl/FutureImpl;
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 581
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.isServer:Z
            ifne 2
         1: .line 582
            new java.lang.IllegalStateException
            dup
            ldc "Illegal use of graceful termination on client."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 584
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.NO_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "Shutting Down"
            iconst_1
            invokevirtual org.glassfish.grizzly.http2.Http2Session.setGoAwayLocally:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;Z)Lorg/glassfish/grizzly/http2/frames/GoAwayFrame;
            astore 1 /* frame */
        start local 1 // org.glassfish.grizzly.http2.frames.GoAwayFrame frame
         3: .line 585
            aload 1 /* frame */
            ifnull 6
         4: .line 586
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.utils.Futures.createSafeFuture:()Lorg/glassfish/grizzly/impl/FutureImpl;
            putfield org.glassfish.grizzly.http2.Http2Session.sessionClosed:Lorg/glassfish/grizzly/impl/FutureImpl;
         5: .line 587
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.outputSink:Lorg/glassfish/grizzly/http2/Http2SessionOutputSink;
            aload 1 /* frame */
            invokevirtual org.glassfish.grizzly.http2.Http2SessionOutputSink.writeDownStream:(Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
         6: .line 589
      StackMap locals: org.glassfish.grizzly.http2.frames.GoAwayFrame
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionClosed:Lorg/glassfish/grizzly/impl/FutureImpl;
            areturn
        end local 1 // org.glassfish.grizzly.http2.frames.GoAwayFrame frame
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/glassfish/grizzly/http2/Http2Session;
            3    7     1  frame  Lorg/glassfish/grizzly/http2/frames/GoAwayFrame;
    Signature: ()Lorg/glassfish/grizzly/impl/FutureImpl<Lorg/glassfish/grizzly/http2/Http2Session;>;

  void terminate(org.glassfish.grizzly.http2.frames.ErrorCode, java.lang.String);
    descriptor: (Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.http2.frames.ErrorCode errorCode
        start local 2 // java.lang.String detail
         0: .line 601
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* errorCode */
            aload 2 /* detail */
            iconst_0
            invokevirtual org.glassfish.grizzly.http2.Http2Session.setGoAwayLocally:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;Z)Lorg/glassfish/grizzly/http2/frames/GoAwayFrame;
            invokevirtual org.glassfish.grizzly.http2.Http2Session.sendGoAwayAndClose:(Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
         1: .line 602
            return
        end local 2 // java.lang.String detail
        end local 1 // org.glassfish.grizzly.http2.frames.ErrorCode errorCode
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    2     1  errorCode  Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            0    2     2     detail  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      errorCode  final
      detail     final

  private void sendGoAwayAndClose(org.glassfish.grizzly.http2.frames.Http2Frame);
    descriptor: (Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.http2.frames.Http2Frame frame
         0: .line 605
            aload 1 /* frame */
            ifnull 4
         1: .line 606
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.outputSink:Lorg/glassfish/grizzly/http2/Http2SessionOutputSink;
            aload 1 /* frame */
            new org.glassfish.grizzly.http2.Http2Session$2
            dup
            aload 0 /* this */
            invokespecial org.glassfish.grizzly.http2.Http2Session$2.<init>:(Lorg/glassfish/grizzly/http2/Http2Session;)V
         2: .line 633
            aconst_null
         3: .line 606
            invokevirtual org.glassfish.grizzly.http2.Http2SessionOutputSink.writeDownStream:(Ljava/lang/Object;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/asyncqueue/MessageCloner;)V
         4: .line 635
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.glassfish.grizzly.http2.frames.Http2Frame frame
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    5     1  frame  Lorg/glassfish/grizzly/http2/frames/Http2Frame;
    MethodParameters:
       Name  Flags
      frame  final

  private org.glassfish.grizzly.http2.frames.GoAwayFrame setGoAwayLocally(org.glassfish.grizzly.http2.frames.ErrorCode, java.lang.String, boolean);
    descriptor: (Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;Z)Lorg/glassfish/grizzly/http2/frames/GoAwayFrame;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.http2.frames.ErrorCode errorCode
        start local 2 // java.lang.String detail
        start local 3 // boolean graceful
         0: .line 640
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         1: .line 648
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.goingAwayLastStreamId:I
            ldc -2147483648
            if_icmpeq 3
         2: .line 649
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.goingAwayLastStreamId:I
            ldc 2147483647
            if_icmpne 23
            iload 3 /* graceful */
            ifne 23
         3: .line 650
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getstatic org.glassfish.grizzly.CloseType.LOCALLY:Lorg/glassfish/grizzly/CloseType;
            putfield org.glassfish.grizzly.http2.Http2Session.closeFlag:Lorg/glassfish/grizzly/CloseType;
         4: .line 651
            aload 0 /* this */
            iload 3 /* graceful */
            ifeq 6
         5: .line 652
            ldc 2147483647
            goto 9
         6: .line 653
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.http2.Http2Session
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.lastPeerStreamId:I
            ifle 8
         7: .line 654
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.lastPeerStreamId:I
            goto 9
         8: .line 655
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.http2.Http2Session
            iconst_0
         9: .line 651
      StackMap locals: org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.http2.frames.ErrorCode java.lang.String int java.lang.Object
      StackMap stack: org.glassfish.grizzly.http2.Http2Session int
            putfield org.glassfish.grizzly.http2.Http2Session.goingAwayLastStreamId:I
        10: .line 656
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.goingAwayLastStreamId:I
            ldc 2147483647
            if_icmpeq 13
        11: .line 657
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.concurrentStreamsCount:I
            ifeq 13
        12: .line 658
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.pruneStreams:()V
        13: .line 661
      StackMap locals:
      StackMap stack:
            invokestatic org.glassfish.grizzly.http2.frames.GoAwayFrame.builder:()Lorg/glassfish/grizzly/http2/frames/GoAwayFrame$GoAwayFrameBuilder;
        14: .line 662
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.goingAwayLastStreamId:I
            invokevirtual org.glassfish.grizzly.http2.frames.GoAwayFrame$GoAwayFrameBuilder.lastStreamId:(I)Lorg/glassfish/grizzly/http2/frames/GoAwayFrame$GoAwayFrameBuilder;
        15: .line 663
            aload 2 /* detail */
            ifnull 17
        16: .line 664
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getMemoryManager:()Lorg/glassfish/grizzly/memory/MemoryManager;
            aload 2 /* detail */
            invokestatic org.glassfish.grizzly.memory.Buffers.wrap:(Lorg/glassfish/grizzly/memory/MemoryManager;Ljava/lang/String;)Lorg/glassfish/grizzly/Buffer;
            goto 18
        17: .line 665
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.http2.frames.GoAwayFrame$GoAwayFrameBuilder
            aconst_null
        18: .line 663
      StackMap locals: org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.http2.frames.ErrorCode java.lang.String int java.lang.Object
      StackMap stack: org.glassfish.grizzly.http2.frames.GoAwayFrame$GoAwayFrameBuilder org.glassfish.grizzly.Buffer
            invokevirtual org.glassfish.grizzly.http2.frames.GoAwayFrame$GoAwayFrameBuilder.additionalDebugData:(Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http2/frames/GoAwayFrame$GoAwayFrameBuilder;
        19: .line 666
            aload 1 /* errorCode */
            invokevirtual org.glassfish.grizzly.http2.frames.GoAwayFrame$GoAwayFrameBuilder.errorCode:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;)Lorg/glassfish/grizzly/http2/frames/GoAwayFrame$GoAwayFrameBuilder;
        20: .line 667
            invokevirtual org.glassfish.grizzly.http2.frames.GoAwayFrame$GoAwayFrameBuilder.build:()Lorg/glassfish/grizzly/http2/frames/GoAwayFrame;
        21: .line 661
            aload 4
            monitorexit
        22: areturn
        23: .line 670
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        24: aconst_null
            areturn
        25: .line 640
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 4
            monitorexit
        26: athrow
        end local 3 // boolean graceful
        end local 2 // java.lang.String detail
        end local 1 // org.glassfish.grizzly.http2.frames.ErrorCode errorCode
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   27     0       this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   27     1  errorCode  Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            0   27     2     detail  Ljava/lang/String;
            0   27     3   graceful  Z
      Exception table:
        from    to  target  type
           1    22      25  any
          23    24      25  any
          25    26      25  any
    MethodParameters:
           Name  Flags
      errorCode  final
      detail     final
      graceful   final

  private void pruneStreams();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 680
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.streamsMap:Ljava/util/TreeMap;
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.goingAwayLastStreamId:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         1: .line 681
            iconst_0
         2: .line 682
            ldc 2147483647
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         3: .line 683
            iconst_1
         4: .line 680
            invokevirtual java.util.TreeMap.subMap:(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/NavigableMap;
         5: .line 679
            astore 1 /* invalidStreams */
        start local 1 // java.util.Map invalidStreams
         6: .line 684
            aload 1 /* invalidStreams */
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 12
         7: .line 685
            aload 1 /* invalidStreams */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 11
      StackMap locals: org.glassfish.grizzly.http2.Http2Session java.util.Map top java.util.Iterator
      StackMap stack:
         8: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.glassfish.grizzly.http2.Http2Stream
            astore 2 /* stream */
        start local 2 // org.glassfish.grizzly.http2.Http2Stream stream
         9: .line 686
            aload 2 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Stream.closedRemotely:()V
        10: .line 687
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.deregisterStream:()V
        end local 2 // org.glassfish.grizzly.http2.Http2Stream stream
        11: .line 685
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        12: .line 690
      StackMap locals: org.glassfish.grizzly.http2.Http2Session java.util.Map
      StackMap stack:
            return
        end local 1 // java.util.Map invalidStreams
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lorg/glassfish/grizzly/http2/Http2Session;
            6   13     1  invalidStreams  Ljava/util/Map<Ljava/lang/Integer;Lorg/glassfish/grizzly/http2/Http2Stream;>;
            9   11     2          stream  Lorg/glassfish/grizzly/http2/Http2Stream;

  void setGoAwayByPeer(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // int lastStreamId
         0: .line 696
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 697
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.grizzly.http2.Http2Session.pushEnabled:Z
         2: .line 698
            aload 0 /* this */
            iload 1 /* lastStreamId */
            putfield org.glassfish.grizzly.http2.Http2Session.goingAwayLastStreamId:I
         3: .line 699
            aload 0 /* this */
            getstatic org.glassfish.grizzly.CloseType.REMOTELY:Lorg/glassfish/grizzly/CloseType;
            putfield org.glassfish.grizzly.http2.Http2Session.closeFlag:Lorg/glassfish/grizzly/CloseType;
         4: .line 700
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.pruneStreams:()V
         5: .line 701
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.isServer:Z
            ifne 6
            iload 1 /* lastStreamId */
            ldc 2147483647
            if_icmpeq 12
         6: .line 702
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.http2.frames.GoAwayFrame.builder:()Lorg/glassfish/grizzly/http2/frames/GoAwayFrame$GoAwayFrameBuilder;
         7: .line 703
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.goingAwayLastStreamId:I
            invokevirtual org.glassfish.grizzly.http2.frames.GoAwayFrame$GoAwayFrameBuilder.lastStreamId:(I)Lorg/glassfish/grizzly/http2/frames/GoAwayFrame$GoAwayFrameBuilder;
         8: .line 704
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getMemoryManager:()Lorg/glassfish/grizzly/memory/MemoryManager;
            ldc "Peer Requested."
            invokestatic org.glassfish.grizzly.memory.Buffers.wrap:(Lorg/glassfish/grizzly/memory/MemoryManager;Ljava/lang/String;)Lorg/glassfish/grizzly/Buffer;
            invokevirtual org.glassfish.grizzly.http2.frames.GoAwayFrame$GoAwayFrameBuilder.additionalDebugData:(Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http2/frames/GoAwayFrame$GoAwayFrameBuilder;
         9: .line 705
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.NO_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            invokevirtual org.glassfish.grizzly.http2.frames.GoAwayFrame$GoAwayFrameBuilder.errorCode:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;)Lorg/glassfish/grizzly/http2/frames/GoAwayFrame$GoAwayFrameBuilder;
        10: .line 706
            invokevirtual org.glassfish.grizzly.http2.frames.GoAwayFrame$GoAwayFrameBuilder.build:()Lorg/glassfish/grizzly/http2/frames/GoAwayFrame;
        11: .line 702
            invokevirtual org.glassfish.grizzly.http2.Http2Session.sendGoAwayAndClose:(Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
        12: .line 696
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        13: goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 2
            monitorexit
        15: athrow
        16: .line 709
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int lastStreamId
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   17     1  lastStreamId  I
      Exception table:
        from    to  target  type
           1    13      14  any
          14    15      14  any
    MethodParameters:
              Name  Flags
      lastStreamId  final

  boolean isGoingAway();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 712
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.closeFlag:Lorg/glassfish/grizzly/CloseType;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  public int getGoingAwayLastStreamId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 716
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.goingAwayLastStreamId:I
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  protected void sendWindowUpdate(int, int);
    descriptor: (II)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // int streamId
        start local 2 // int delta
         0: .line 720
            invokestatic org.glassfish.grizzly.http2.frames.WindowUpdateFrame.builder:()Lorg/glassfish/grizzly/http2/frames/WindowUpdateFrame$WindowUpdateFrameBuilder;
         1: .line 721
            iload 1 /* streamId */
            invokevirtual org.glassfish.grizzly.http2.frames.WindowUpdateFrame$WindowUpdateFrameBuilder.streamId:(I)Lorg/glassfish/grizzly/http2/frames/Http2Frame$Http2FrameBuilder;
            checkcast org.glassfish.grizzly.http2.frames.WindowUpdateFrame$WindowUpdateFrameBuilder
         2: .line 722
            iload 2 /* delta */
            invokevirtual org.glassfish.grizzly.http2.frames.WindowUpdateFrame$WindowUpdateFrameBuilder.windowSizeIncrement:(I)Lorg/glassfish/grizzly/http2/frames/WindowUpdateFrame$WindowUpdateFrameBuilder;
         3: .line 723
            invokevirtual org.glassfish.grizzly.http2.frames.WindowUpdateFrame$WindowUpdateFrameBuilder.build:()Lorg/glassfish/grizzly/http2/frames/WindowUpdateFrame;
         4: .line 720
            astore 3 /* f */
        start local 3 // org.glassfish.grizzly.http2.frames.WindowUpdateFrame f
         5: .line 724
            getstatic org.glassfish.grizzly.http2.NetLogger$Context.TX:Lorg/glassfish/grizzly/http2/NetLogger$Context;
            aload 0 /* this */
            aload 3 /* f */
            invokestatic org.glassfish.grizzly.http2.NetLogger.log:(Lorg/glassfish/grizzly/http2/NetLogger$Context;Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/WindowUpdateFrame;)V
         6: .line 725
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.outputSink:Lorg/glassfish/grizzly/http2/Http2SessionOutputSink;
            aload 3 /* f */
            invokevirtual org.glassfish.grizzly.http2.Http2SessionOutputSink.writeDownStream:(Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
         7: .line 726
            return
        end local 3 // org.glassfish.grizzly.http2.frames.WindowUpdateFrame f
        end local 2 // int delta
        end local 1 // int streamId
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    8     1  streamId  I
            0    8     2     delta  I
            5    8     3         f  Lorg/glassfish/grizzly/http2/frames/WindowUpdateFrame;
    MethodParameters:
          Name  Flags
      streamId  final
      delta     final

  void sendPreface();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 729
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.isPrefaceSent:Z
            ifne 14
         1: .line 730
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         2: .line 731
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.isPrefaceSent:Z
            ifne 10
         3: .line 732
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.isServer:Z
            ifeq 6
         4: .line 733
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.sendServerPreface:()V
         5: .line 734
            goto 7
         6: .line 735
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.sendClientPreface:()V
         7: .line 738
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.http2.Http2Session.isPrefaceSent:Z
         8: .line 740
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.isServer:Z
            ifne 10
         9: .line 745
            aload 0 /* this */
            aload 0 /* this */
            iconst_0
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getStream:(I)Lorg/glassfish/grizzly/http2/Http2Stream;
            iconst_0
            invokevirtual org.glassfish.grizzly.http2.Http2Session.ackConsumedData:(Lorg/glassfish/grizzly/http2/Http2Stream;I)V
        10: .line 730
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        11: goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: aload 1
            monitorexit
        13: athrow
        14: .line 750
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lorg/glassfish/grizzly/http2/Http2Session;
      Exception table:
        from    to  target  type
           2    11      12  any
          12    13      12  any

  protected void sendServerPreface();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 753
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.prepareSettings:()Lorg/glassfish/grizzly/http2/frames/SettingsFrame$SettingsFrameBuilder;
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$SettingsFrameBuilder.build:()Lorg/glassfish/grizzly/http2/frames/SettingsFrame;
            astore 1 /* settingsFrame */
        start local 1 // org.glassfish.grizzly.http2.frames.SettingsFrame settingsFrame
         1: .line 755
            getstatic org.glassfish.grizzly.http2.NetLogger$Context.TX:Lorg/glassfish/grizzly/http2/NetLogger$Context;
            aload 0 /* this */
            aload 1 /* settingsFrame */
            invokestatic org.glassfish.grizzly.http2.NetLogger.log:(Lorg/glassfish/grizzly/http2/NetLogger$Context;Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/SettingsFrame;)V
         2: .line 759
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.connection:Lorg/glassfish/grizzly/Connection;
            aload 1 /* settingsFrame */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getMemoryManager:()Lorg/glassfish/grizzly/memory/MemoryManager;
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame.toBuffer:(Lorg/glassfish/grizzly/memory/MemoryManager;)Lorg/glassfish/grizzly/Buffer;
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sslFilter:Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
            ifnull 4
            new org.glassfish.grizzly.http2.Http2Session$3
            dup
            aload 0 /* this */
            invokespecial org.glassfish.grizzly.http2.Http2Session$3.<init>:(Lorg/glassfish/grizzly/http2/Http2Session;)V
         3: .line 764
            goto 5
      StackMap locals: org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.http2.frames.SettingsFrame
      StackMap stack: org.glassfish.grizzly.Connection org.glassfish.grizzly.Buffer
         4: aconst_null
         5: .line 759
      StackMap locals: org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.http2.frames.SettingsFrame
      StackMap stack: org.glassfish.grizzly.Connection org.glassfish.grizzly.Buffer org.glassfish.grizzly.http2.Http2Session$3
            invokeinterface org.glassfish.grizzly.Connection.write:(Ljava/lang/Object;Lorg/glassfish/grizzly/CompletionHandler;)V
         6: .line 765
            return
        end local 1 // org.glassfish.grizzly.http2.frames.SettingsFrame settingsFrame
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/glassfish/grizzly/http2/Http2Session;
            1    7     1  settingsFrame  Lorg/glassfish/grizzly/http2/frames/SettingsFrame;

  protected void sendClientPreface();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 770
            invokestatic org.glassfish.grizzly.http.HttpRequestPacket.builder:()Lorg/glassfish/grizzly/http/HttpRequestPacket$Builder;
         1: .line 771
            getstatic org.glassfish.grizzly.http.Method.PRI:Lorg/glassfish/grizzly/http/Method;
            invokevirtual org.glassfish.grizzly.http.HttpRequestPacket$Builder.method:(Lorg/glassfish/grizzly/http/Method;)Lorg/glassfish/grizzly/http/HttpRequestPacket$Builder;
         2: .line 772
            ldc "*"
            invokevirtual org.glassfish.grizzly.http.HttpRequestPacket$Builder.uri:(Ljava/lang/String;)Lorg/glassfish/grizzly/http/HttpRequestPacket$Builder;
         3: .line 773
            getstatic org.glassfish.grizzly.http.Protocol.HTTP_2_0:Lorg/glassfish/grizzly/http/Protocol;
            invokevirtual org.glassfish.grizzly.http.HttpRequestPacket$Builder.protocol:(Lorg/glassfish/grizzly/http/Protocol;)Lorg/glassfish/grizzly/http/HttpHeader$Builder;
            checkcast org.glassfish.grizzly.http.HttpRequestPacket$Builder
         4: .line 774
            invokevirtual org.glassfish.grizzly.http.HttpRequestPacket$Builder.build:()Lorg/glassfish/grizzly/http/HttpRequestPacket;
         5: .line 769
            astore 1 /* request */
        start local 1 // org.glassfish.grizzly.http.HttpRequestPacket request
         6: .line 777
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.connection:Lorg/glassfish/grizzly/Connection;
            invokeinterface org.glassfish.grizzly.Connection.getMemoryManager:()Lorg/glassfish/grizzly/memory/MemoryManager;
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.PRI_PAYLOAD:[B
            invokestatic org.glassfish.grizzly.memory.Buffers.wrap:(Lorg/glassfish/grizzly/memory/MemoryManager;[B)Lorg/glassfish/grizzly/Buffer;
         7: .line 776
            astore 2 /* priPayload */
        start local 2 // org.glassfish.grizzly.Buffer priPayload
         8: .line 779
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.prepareSettings:()Lorg/glassfish/grizzly/http2/frames/SettingsFrame$SettingsFrameBuilder;
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$SettingsFrameBuilder.build:()Lorg/glassfish/grizzly/http2/frames/SettingsFrame;
            astore 3 /* settingsFrame */
        start local 3 // org.glassfish.grizzly.http2.frames.SettingsFrame settingsFrame
         9: .line 780
            aload 3 /* settingsFrame */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getMemoryManager:()Lorg/glassfish/grizzly/memory/MemoryManager;
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame.toBuffer:(Lorg/glassfish/grizzly/memory/MemoryManager;)Lorg/glassfish/grizzly/Buffer;
            astore 4 /* settingsBuffer */
        start local 4 // org.glassfish.grizzly.Buffer settingsBuffer
        10: .line 783
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.connection:Lorg/glassfish/grizzly/Connection;
            invokeinterface org.glassfish.grizzly.Connection.getMemoryManager:()Lorg/glassfish/grizzly/memory/MemoryManager;
            aload 2 /* priPayload */
            aload 4 /* settingsBuffer */
        11: .line 782
            invokestatic org.glassfish.grizzly.memory.Buffers.appendBuffers:(Lorg/glassfish/grizzly/memory/MemoryManager;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
            astore 5 /* payload */
        start local 5 // org.glassfish.grizzly.Buffer payload
        12: .line 785
            aload 1 /* request */
            invokestatic org.glassfish.grizzly.http.HttpContent.builder:(Lorg/glassfish/grizzly/http/HttpHeader;)Lorg/glassfish/grizzly/http/HttpContent$Builder;
        13: .line 786
            aload 5 /* payload */
            invokevirtual org.glassfish.grizzly.http.HttpContent$Builder.content:(Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http/HttpContent$Builder;
        14: .line 787
            invokevirtual org.glassfish.grizzly.http.HttpContent$Builder.build:()Lorg/glassfish/grizzly/http/HttpContent;
        15: .line 785
            astore 6 /* content */
        start local 6 // org.glassfish.grizzly.http.HttpContent content
        16: .line 789
            getstatic org.glassfish.grizzly.http2.NetLogger$Context.TX:Lorg/glassfish/grizzly/http2/NetLogger$Context;
            aload 0 /* this */
            aload 3 /* settingsFrame */
            invokestatic org.glassfish.grizzly.http2.NetLogger.log:(Lorg/glassfish/grizzly/http2/NetLogger$Context;Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/SettingsFrame;)V
        17: .line 791
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.connection:Lorg/glassfish/grizzly/Connection;
            aload 6 /* content */
            invokeinterface org.glassfish.grizzly.Connection.write:(Ljava/lang/Object;)Lorg/glassfish/grizzly/GrizzlyFuture;
            pop
        18: .line 792
            return
        end local 6 // org.glassfish.grizzly.http.HttpContent content
        end local 5 // org.glassfish.grizzly.Buffer payload
        end local 4 // org.glassfish.grizzly.Buffer settingsBuffer
        end local 3 // org.glassfish.grizzly.http2.frames.SettingsFrame settingsFrame
        end local 2 // org.glassfish.grizzly.Buffer priPayload
        end local 1 // org.glassfish.grizzly.http.HttpRequestPacket request
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0            this  Lorg/glassfish/grizzly/http2/Http2Session;
            6   19     1         request  Lorg/glassfish/grizzly/http/HttpRequestPacket;
            8   19     2      priPayload  Lorg/glassfish/grizzly/Buffer;
            9   19     3   settingsFrame  Lorg/glassfish/grizzly/http2/frames/SettingsFrame;
           10   19     4  settingsBuffer  Lorg/glassfish/grizzly/Buffer;
           12   19     5         payload  Lorg/glassfish/grizzly/Buffer;
           16   19     6         content  Lorg/glassfish/grizzly/http/HttpContent;

  org.glassfish.grizzly.http2.HeadersDecoder getHeadersDecoder();
    descriptor: ()Lorg/glassfish/grizzly/http2/HeadersDecoder;
    flags: (0x0000) 
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 795
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.headersDecoder:Lorg/glassfish/grizzly/http2/HeadersDecoder;
            ifnonnull 2
         1: .line 796
            aload 0 /* this */
            new org.glassfish.grizzly.http2.HeadersDecoder
            dup
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getMemoryManager:()Lorg/glassfish/grizzly/memory/MemoryManager;
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getMaxHeaderListSize:()I
            sipush 4096
            invokespecial org.glassfish.grizzly.http2.HeadersDecoder.<init>:(Lorg/glassfish/grizzly/memory/MemoryManager;II)V
            putfield org.glassfish.grizzly.http2.Http2Session.headersDecoder:Lorg/glassfish/grizzly/http2/HeadersDecoder;
         2: .line 799
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.headersDecoder:Lorg/glassfish/grizzly/http2/HeadersDecoder;
            areturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  java.util.concurrent.locks.ReentrantLock getDeflaterLock();
    descriptor: ()Ljava/util/concurrent/locks/ReentrantLock;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 803
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.deflaterLock:Ljava/util/concurrent/locks/ReentrantLock;
            areturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  org.glassfish.grizzly.http2.HeadersEncoder getHeadersEncoder();
    descriptor: ()Lorg/glassfish/grizzly/http2/HeadersEncoder;
    flags: (0x0000) 
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 807
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.headersEncoder:Lorg/glassfish/grizzly/http2/HeadersEncoder;
            ifnonnull 2
         1: .line 808
            aload 0 /* this */
            new org.glassfish.grizzly.http2.HeadersEncoder
            dup
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getMemoryManager:()Lorg/glassfish/grizzly/memory/MemoryManager;
            sipush 4096
            invokespecial org.glassfish.grizzly.http2.HeadersEncoder.<init>:(Lorg/glassfish/grizzly/memory/MemoryManager;I)V
            putfield org.glassfish.grizzly.http2.Http2Session.headersEncoder:Lorg/glassfish/grizzly/http2/HeadersEncoder;
         2: .line 811
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.headersEncoder:Lorg/glassfish/grizzly/http2/HeadersEncoder;
            areturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  protected java.util.List<org.glassfish.grizzly.http2.frames.Http2Frame> encodeHttpHeaderAsHeaderFrames(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http.HttpHeader, int, boolean, java.util.List<org.glassfish.grizzly.http2.frames.Http2Frame>, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http/HttpHeader;IZLjava/util/List;Ljava/util/Map;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=9, args_size=7
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        start local 2 // org.glassfish.grizzly.http.HttpHeader httpHeader
        start local 3 // int streamId
        start local 4 // boolean isLast
        start local 5 // java.util.List toList
        start local 6 // java.util.Map capture
         0: .line 836
            aload 2 /* httpHeader */
            invokevirtual org.glassfish.grizzly.http.HttpHeader.isRequest:()Z
            ifne 4
         1: .line 838
            aload 0 /* this */
            aload 2 /* httpHeader */
            checkcast org.glassfish.grizzly.http.HttpResponsePacket
            aload 6 /* capture */
         2: .line 837
            invokestatic org.glassfish.grizzly.http2.EncoderUtils.encodeResponseHeaders:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http/HttpResponsePacket;Ljava/util/Map;)Lorg/glassfish/grizzly/Buffer;
         3: .line 838
            goto 6
         4: .line 840
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* httpHeader */
            checkcast org.glassfish.grizzly.http.HttpRequestPacket
            aload 6 /* capture */
         5: .line 839
            invokestatic org.glassfish.grizzly.http2.EncoderUtils.encodeRequestHeaders:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http/HttpRequestPacket;Ljava/util/Map;)Lorg/glassfish/grizzly/Buffer;
         6: .line 836
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.Buffer
            astore 7 /* compressedHeaders */
        start local 7 // org.glassfish.grizzly.Buffer compressedHeaders
         7: .line 843
            aload 0 /* this */
            iload 3 /* streamId */
            aload 7 /* compressedHeaders */
            iload 4 /* isLast */
            aload 5 /* toList */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.bufferToHeaderFrames:(ILorg/glassfish/grizzly/Buffer;ZLjava/util/List;)Ljava/util/List;
         8: .line 842
            astore 8 /* headerFrames */
        start local 8 // java.util.List headerFrames
         9: .line 845
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.handlerFilter:Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            aload 2 /* httpHeader */
            aload 1 /* ctx */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.onHttpHeadersEncoded:(Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
        10: .line 847
            aload 8 /* headerFrames */
            areturn
        end local 8 // java.util.List headerFrames
        end local 7 // org.glassfish.grizzly.Buffer compressedHeaders
        end local 6 // java.util.Map capture
        end local 5 // java.util.List toList
        end local 4 // boolean isLast
        end local 3 // int streamId
        end local 2 // org.glassfish.grizzly.http.HttpHeader httpHeader
        end local 1 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0               this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   11     1                ctx  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            0   11     2         httpHeader  Lorg/glassfish/grizzly/http/HttpHeader;
            0   11     3           streamId  I
            0   11     4             isLast  Z
            0   11     5             toList  Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
            0   11     6            capture  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            7   11     7  compressedHeaders  Lorg/glassfish/grizzly/Buffer;
            9   11     8       headerFrames  Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http/HttpHeader;IZLjava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
    MethodParameters:
            Name  Flags
      ctx         final
      httpHeader  final
      streamId    final
      isLast      final
      toList      final
      capture     final

  protected java.util.List<org.glassfish.grizzly.http2.frames.Http2Frame> encodeTrailersAsHeaderFrames(int, java.util.List<org.glassfish.grizzly.http2.frames.Http2Frame>, org.glassfish.grizzly.http.util.MimeHeaders, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (ILjava/util/List;Lorg/glassfish/grizzly/http/util/MimeHeaders;Ljava/util/Map;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // int streamId
        start local 2 // java.util.List toList
        start local 3 // org.glassfish.grizzly.http.util.MimeHeaders trailerHeaders
        start local 4 // java.util.Map capture
         0: .line 866
            aload 0 /* this */
            aload 3 /* trailerHeaders */
            aload 4 /* capture */
            invokestatic org.glassfish.grizzly.http2.EncoderUtils.encodeTrailerHeaders:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http/util/MimeHeaders;Ljava/util/Map;)Lorg/glassfish/grizzly/Buffer;
            astore 5 /* compressedHeaders */
        start local 5 // org.glassfish.grizzly.Buffer compressedHeaders
         1: .line 867
            aload 0 /* this */
            iload 1 /* streamId */
            aload 5 /* compressedHeaders */
            iconst_1
            aload 2 /* toList */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.bufferToHeaderFrames:(ILorg/glassfish/grizzly/Buffer;ZLjava/util/List;)Ljava/util/List;
            areturn
        end local 5 // org.glassfish.grizzly.Buffer compressedHeaders
        end local 4 // java.util.Map capture
        end local 3 // org.glassfish.grizzly.http.util.MimeHeaders trailerHeaders
        end local 2 // java.util.List toList
        end local 1 // int streamId
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    2     1           streamId  I
            0    2     2             toList  Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
            0    2     3     trailerHeaders  Lorg/glassfish/grizzly/http/util/MimeHeaders;
            0    2     4            capture  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1    2     5  compressedHeaders  Lorg/glassfish/grizzly/Buffer;
    Exceptions:
      throws java.io.IOException
    Signature: (ILjava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;Lorg/glassfish/grizzly/http/util/MimeHeaders;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
    MethodParameters:
                Name  Flags
      streamId        final
      toList          final
      trailerHeaders  final
      capture         final

  protected java.util.List<org.glassfish.grizzly.http2.frames.Http2Frame> encodeHttpRequestAsPushPromiseFrames(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http.HttpRequestPacket, int, int, java.util.List<org.glassfish.grizzly.http2.frames.Http2Frame>, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http/HttpRequestPacket;IILjava/util/List;Ljava/util/Map;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=8, args_size=7
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        start local 2 // org.glassfish.grizzly.http.HttpRequestPacket httpRequest
        start local 3 // int streamId
        start local 4 // int promisedStreamId
        start local 5 // java.util.List toList
        start local 6 // java.util.Map capture
         0: .line 893
            invokestatic org.glassfish.grizzly.http2.NetLogger.isActive:()Z
            pop
         1: .line 896
            aload 0 /* this */
         2: .line 897
            iload 3 /* streamId */
         3: .line 898
            iload 4 /* promisedStreamId */
         4: .line 899
            aload 0 /* this */
            aload 2 /* httpRequest */
            aload 6 /* capture */
            invokestatic org.glassfish.grizzly.http2.EncoderUtils.encodeRequestHeaders:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http/HttpRequestPacket;Ljava/util/Map;)Lorg/glassfish/grizzly/Buffer;
         5: .line 900
            aload 5 /* toList */
         6: .line 896
            invokevirtual org.glassfish.grizzly.http2.Http2Session.bufferToPushPromiseFrames:(IILorg/glassfish/grizzly/Buffer;Ljava/util/List;)Ljava/util/List;
         7: .line 895
            astore 7 /* headerFrames */
        start local 7 // java.util.List headerFrames
         8: .line 902
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.handlerFilter:Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            aload 2 /* httpRequest */
            aload 1 /* ctx */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.onHttpHeadersEncoded:(Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
         9: .line 904
            aload 7 /* headerFrames */
            areturn
        end local 7 // java.util.List headerFrames
        end local 6 // java.util.Map capture
        end local 5 // java.util.List toList
        end local 4 // int promisedStreamId
        end local 3 // int streamId
        end local 2 // org.glassfish.grizzly.http.HttpRequestPacket httpRequest
        end local 1 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   10     1               ctx  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            0   10     2       httpRequest  Lorg/glassfish/grizzly/http/HttpRequestPacket;
            0   10     3          streamId  I
            0   10     4  promisedStreamId  I
            0   10     5            toList  Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
            0   10     6           capture  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            8   10     7      headerFrames  Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http/HttpRequestPacket;IILjava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
    MethodParameters:
                  Name  Flags
      ctx               final
      httpRequest       final
      streamId          final
      promisedStreamId  final
      toList            final
      capture           final

  private java.util.List<org.glassfish.grizzly.http2.frames.Http2Frame> bufferToHeaderFrames(int, org.glassfish.grizzly.Buffer, boolean, java.util.List<org.glassfish.grizzly.http2.frames.Http2Frame>);
    descriptor: (ILorg/glassfish/grizzly/Buffer;ZLjava/util/List;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // int streamId
        start local 2 // org.glassfish.grizzly.Buffer compressedHeaders
        start local 3 // boolean isEos
        start local 4 // java.util.List toList
         0: .line 921
            invokestatic org.glassfish.grizzly.http2.frames.HeadersFrame.builder:()Lorg/glassfish/grizzly/http2/frames/HeadersFrame$HeadersFrameBuilder;
         1: .line 922
            iload 1 /* streamId */
            invokevirtual org.glassfish.grizzly.http2.frames.HeadersFrame$HeadersFrameBuilder.streamId:(I)Lorg/glassfish/grizzly/http2/frames/Http2Frame$Http2FrameBuilder;
            checkcast org.glassfish.grizzly.http2.frames.HeadersFrame$HeadersFrameBuilder
         2: .line 923
            iload 3 /* isEos */
            invokevirtual org.glassfish.grizzly.http2.frames.HeadersFrame$HeadersFrameBuilder.endStream:(Z)Lorg/glassfish/grizzly/http2/frames/HeadersFrame$HeadersFrameBuilder;
         3: .line 920
            astore 5 /* builder */
        start local 5 // org.glassfish.grizzly.http2.frames.HeadersFrame$HeadersFrameBuilder builder
         4: .line 925
            aload 0 /* this */
            aload 5 /* builder */
         5: .line 926
            iload 1 /* streamId */
            aload 2 /* compressedHeaders */
            aload 4 /* toList */
         6: .line 925
            invokevirtual org.glassfish.grizzly.http2.Http2Session.completeHeadersProviderFrameSerialization:(Lorg/glassfish/grizzly/http2/frames/HeaderBlockFragment$HeaderBlockFragmentBuilder;ILorg/glassfish/grizzly/Buffer;Ljava/util/List;)Ljava/util/List;
            areturn
        end local 5 // org.glassfish.grizzly.http2.frames.HeadersFrame$HeadersFrameBuilder builder
        end local 4 // java.util.List toList
        end local 3 // boolean isEos
        end local 2 // org.glassfish.grizzly.Buffer compressedHeaders
        end local 1 // int streamId
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    7     1           streamId  I
            0    7     2  compressedHeaders  Lorg/glassfish/grizzly/Buffer;
            0    7     3              isEos  Z
            0    7     4             toList  Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
            4    7     5            builder  Lorg/glassfish/grizzly/http2/frames/HeadersFrame$HeadersFrameBuilder;
    Signature: (ILorg/glassfish/grizzly/Buffer;ZLjava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;)Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
    MethodParameters:
                   Name  Flags
      streamId           final
      compressedHeaders  final
      isEos              final
      toList             final

  private java.util.List<org.glassfish.grizzly.http2.frames.Http2Frame> bufferToPushPromiseFrames(int, int, org.glassfish.grizzly.Buffer, java.util.List<org.glassfish.grizzly.http2.frames.Http2Frame>);
    descriptor: (IILorg/glassfish/grizzly/Buffer;Ljava/util/List;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // int streamId
        start local 2 // int promisedStreamId
        start local 3 // org.glassfish.grizzly.Buffer compressedHeaders
        start local 4 // java.util.List toList
         0: .line 944
            invokestatic org.glassfish.grizzly.http2.frames.PushPromiseFrame.builder:()Lorg/glassfish/grizzly/http2/frames/PushPromiseFrame$PushPromiseFrameBuilder;
         1: .line 945
            iload 1 /* streamId */
            invokevirtual org.glassfish.grizzly.http2.frames.PushPromiseFrame$PushPromiseFrameBuilder.streamId:(I)Lorg/glassfish/grizzly/http2/frames/Http2Frame$Http2FrameBuilder;
            checkcast org.glassfish.grizzly.http2.frames.PushPromiseFrame$PushPromiseFrameBuilder
         2: .line 946
            iload 2 /* promisedStreamId */
            invokevirtual org.glassfish.grizzly.http2.frames.PushPromiseFrame$PushPromiseFrameBuilder.promisedStreamId:(I)Lorg/glassfish/grizzly/http2/frames/PushPromiseFrame$PushPromiseFrameBuilder;
         3: .line 943
            astore 5 /* builder */
        start local 5 // org.glassfish.grizzly.http2.frames.PushPromiseFrame$PushPromiseFrameBuilder builder
         4: .line 948
            aload 0 /* this */
            aload 5 /* builder */
         5: .line 949
            iload 1 /* streamId */
            aload 3 /* compressedHeaders */
            aload 4 /* toList */
         6: .line 948
            invokevirtual org.glassfish.grizzly.http2.Http2Session.completeHeadersProviderFrameSerialization:(Lorg/glassfish/grizzly/http2/frames/HeaderBlockFragment$HeaderBlockFragmentBuilder;ILorg/glassfish/grizzly/Buffer;Ljava/util/List;)Ljava/util/List;
            areturn
        end local 5 // org.glassfish.grizzly.http2.frames.PushPromiseFrame$PushPromiseFrameBuilder builder
        end local 4 // java.util.List toList
        end local 3 // org.glassfish.grizzly.Buffer compressedHeaders
        end local 2 // int promisedStreamId
        end local 1 // int streamId
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    7     1           streamId  I
            0    7     2   promisedStreamId  I
            0    7     3  compressedHeaders  Lorg/glassfish/grizzly/Buffer;
            0    7     4             toList  Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
            4    7     5            builder  Lorg/glassfish/grizzly/http2/frames/PushPromiseFrame$PushPromiseFrameBuilder;
    Signature: (IILorg/glassfish/grizzly/Buffer;Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;)Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
    MethodParameters:
                   Name  Flags
      streamId           final
      promisedStreamId   final
      compressedHeaders  final
      toList             final

  private java.util.List<org.glassfish.grizzly.http2.frames.Http2Frame> completeHeadersProviderFrameSerialization(org.glassfish.grizzly.http2.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder, int, org.glassfish.grizzly.Buffer, java.util.List<org.glassfish.grizzly.http2.frames.Http2Frame>);
    descriptor: (Lorg/glassfish/grizzly/http2/frames/HeaderBlockFragment$HeaderBlockFragmentBuilder;ILorg/glassfish/grizzly/Buffer;Ljava/util/List;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=5
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.http2.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder builder
        start local 2 // int streamId
        start local 3 // org.glassfish.grizzly.Buffer compressedHeaders
        start local 4 // java.util.List toList
         0: .line 966
            getstatic org.glassfish.grizzly.http2.Http2Session.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.deflaterLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.isHeldByCurrentThread:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 968
      StackMap locals:
      StackMap stack:
            aload 4 /* toList */
            ifnonnull 3
         2: .line 969
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.tmpHeaderFramesList:Ljava/util/List;
            astore 4 /* toList */
         3: .line 972
      StackMap locals:
      StackMap stack:
            aload 3 /* compressedHeaders */
            invokeinterface org.glassfish.grizzly.Buffer.remaining:()I
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.peerMaxFramePayloadSize:I
            if_icmpgt 10
         4: .line 973
            aload 4 /* toList */
         5: .line 974
            aload 1 /* builder */
            iconst_1
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder.endHeaders:(Z)Lorg/glassfish/grizzly/http2/frames/HeaderBlockFragment$HeaderBlockFragmentBuilder;
         6: .line 975
            aload 3 /* compressedHeaders */
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder.compressedHeaders:(Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http2/frames/HeaderBlockFragment$HeaderBlockFragmentBuilder;
         7: .line 976
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder.build:()Lorg/glassfish/grizzly/http2/frames/Http2Frame;
         8: .line 973
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 979
            aload 4 /* toList */
            areturn
        10: .line 982
      StackMap locals:
      StackMap stack:
            aload 3 /* compressedHeaders */
        11: .line 983
            aload 3 /* compressedHeaders */
            invokeinterface org.glassfish.grizzly.Buffer.position:()I
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.peerMaxFramePayloadSize:I
            iadd
        12: .line 982
            invokeinterface org.glassfish.grizzly.Buffer.split:(I)Lorg/glassfish/grizzly/Buffer;
            astore 5 /* remainder */
        start local 5 // org.glassfish.grizzly.Buffer remainder
        13: .line 985
            aload 4 /* toList */
        14: .line 986
            aload 1 /* builder */
            iconst_0
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder.endHeaders:(Z)Lorg/glassfish/grizzly/http2/frames/HeaderBlockFragment$HeaderBlockFragmentBuilder;
        15: .line 987
            aload 3 /* compressedHeaders */
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder.compressedHeaders:(Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http2/frames/HeaderBlockFragment$HeaderBlockFragmentBuilder;
        16: .line 988
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder.build:()Lorg/glassfish/grizzly/http2/frames/Http2Frame;
        17: .line 985
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 990
            getstatic org.glassfish.grizzly.http2.Http2Session.$assertionsDisabled:Z
            ifne 19
            aload 5 /* remainder */
            ifnonnull 19
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        19: .line 993
      StackMap locals: org.glassfish.grizzly.Buffer
      StackMap stack:
            aload 5 /* remainder */
            astore 6 /* buffer */
        start local 6 // org.glassfish.grizzly.Buffer buffer
        20: .line 995
            aload 6 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.remaining:()I
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.peerMaxFramePayloadSize:I
            if_icmpgt 22
        21: .line 996
            aconst_null
            goto 23
        22: .line 997
      StackMap locals: org.glassfish.grizzly.Buffer
      StackMap stack:
            aload 6 /* buffer */
            aload 6 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.position:()I
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.peerMaxFramePayloadSize:I
            iadd
            invokeinterface org.glassfish.grizzly.Buffer.split:(I)Lorg/glassfish/grizzly/Buffer;
        23: .line 995
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.Buffer
            astore 5 /* remainder */
        24: .line 999
            aload 4 /* toList */
        25: .line 1000
            invokestatic org.glassfish.grizzly.http2.frames.ContinuationFrame.builder:()Lorg/glassfish/grizzly/http2/frames/ContinuationFrame$ContinuationFrameBuilder;
            iload 2 /* streamId */
            invokevirtual org.glassfish.grizzly.http2.frames.ContinuationFrame$ContinuationFrameBuilder.streamId:(I)Lorg/glassfish/grizzly/http2/frames/Http2Frame$Http2FrameBuilder;
            checkcast org.glassfish.grizzly.http2.frames.ContinuationFrame$ContinuationFrameBuilder
        26: .line 1001
            aload 5 /* remainder */
            ifnonnull 27
            iconst_1
            goto 28
      StackMap locals: org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.http2.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder int org.glassfish.grizzly.Buffer java.util.List org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer
      StackMap stack: java.util.List org.glassfish.grizzly.http2.frames.ContinuationFrame$ContinuationFrameBuilder
        27: iconst_0
      StackMap locals: org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.http2.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder int org.glassfish.grizzly.Buffer java.util.List org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer
      StackMap stack: java.util.List org.glassfish.grizzly.http2.frames.ContinuationFrame$ContinuationFrameBuilder int
        28: invokevirtual org.glassfish.grizzly.http2.frames.ContinuationFrame$ContinuationFrameBuilder.endHeaders:(Z)Lorg/glassfish/grizzly/http2/frames/HeaderBlockFragment$HeaderBlockFragmentBuilder;
            checkcast org.glassfish.grizzly.http2.frames.ContinuationFrame$ContinuationFrameBuilder
        29: .line 1002
            aload 6 /* buffer */
            invokevirtual org.glassfish.grizzly.http2.frames.ContinuationFrame$ContinuationFrameBuilder.compressedHeaders:(Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http2/frames/HeaderBlockFragment$HeaderBlockFragmentBuilder;
            checkcast org.glassfish.grizzly.http2.frames.ContinuationFrame$ContinuationFrameBuilder
        30: .line 1003
            invokevirtual org.glassfish.grizzly.http2.frames.ContinuationFrame$ContinuationFrameBuilder.build:()Lorg/glassfish/grizzly/http2/frames/ContinuationFrame;
        31: .line 999
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.glassfish.grizzly.Buffer buffer
        32: .line 1004
            aload 5 /* remainder */
            ifnonnull 19
        33: .line 1006
            aload 4 /* toList */
            areturn
        end local 5 // org.glassfish.grizzly.Buffer remainder
        end local 4 // java.util.List toList
        end local 3 // org.glassfish.grizzly.Buffer compressedHeaders
        end local 2 // int streamId
        end local 1 // org.glassfish.grizzly.http2.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder builder
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   34     0               this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   34     1            builder  Lorg/glassfish/grizzly/http2/frames/HeaderBlockFragment$HeaderBlockFragmentBuilder;
            0   34     2           streamId  I
            0   34     3  compressedHeaders  Lorg/glassfish/grizzly/Buffer;
            0   34     4             toList  Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
           13   34     5          remainder  Lorg/glassfish/grizzly/Buffer;
           20   32     6             buffer  Lorg/glassfish/grizzly/Buffer;
    Signature: (Lorg/glassfish/grizzly/http2/frames/HeaderBlockFragment$HeaderBlockFragmentBuilder;ILorg/glassfish/grizzly/Buffer;Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;)Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
    MethodParameters:
                   Name  Flags
      builder            final
      streamId           final
      compressedHeaders  final
      toList             

  public java.util.concurrent.locks.ReentrantLock getNewClientStreamLock();
    descriptor: ()Ljava/util/concurrent/locks/ReentrantLock;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 1018
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.newClientStreamLock:Ljava/util/concurrent/locks/ReentrantLock;
            areturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  org.glassfish.grizzly.http2.Http2Stream acceptStream(org.glassfish.grizzly.http.HttpRequestPacket, int, int, boolean, int);
    descriptor: (Lorg/glassfish/grizzly/http/HttpRequestPacket;IIZI)Lorg/glassfish/grizzly/http2/Http2Stream;
    flags: (0x0000) 
    Code:
      stack=6, locals=8, args_size=6
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.http.HttpRequestPacket request
        start local 2 // int streamId
        start local 3 // int parentStreamId
        start local 4 // boolean exclusive
        start local 5 // int priority
         0: .line 1027
            aload 0 /* this */
            aload 1 /* request */
         1: .line 1028
            iload 2 /* streamId */
            iload 3 /* parentStreamId */
            iload 4 /* exclusive */
            iload 5 /* priority */
         2: .line 1027
            invokevirtual org.glassfish.grizzly.http2.Http2Session.newStream:(Lorg/glassfish/grizzly/http/HttpRequestPacket;IIZI)Lorg/glassfish/grizzly/http2/Http2Stream;
            astore 6 /* stream */
        start local 6 // org.glassfish.grizzly.http2.Http2Stream stream
         3: .line 1030
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionLock:Ljava/lang/Object;
            dup
            astore 7
            monitorenter
         4: .line 1031
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isClosed:()Z
            ifeq 7
         5: .line 1032
            aload 7
            monitorexit
         6: aconst_null
            areturn
         7: .line 1035
      StackMap locals: org.glassfish.grizzly.http2.Http2Stream java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.concurrentStreamsCount:I
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getLocalMaxConcurrentStreams:()I
            if_icmplt 9
         8: .line 1038
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.REFUSED_STREAM:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;)V
            athrow
         9: .line 1040
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isServer:()Z
            ifeq 12
        10: .line 1041
            iload 2 /* streamId */
            ifle 14
            iload 2 /* streamId */
            iconst_1
            iand
            ifne 14
        11: .line 1042
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;)V
            athrow
        12: .line 1045
      StackMap locals:
      StackMap stack:
            iload 2 /* streamId */
            ifle 14
            iload 2 /* streamId */
            iconst_1
            iand
            ifeq 14
        13: .line 1046
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;)V
            athrow
        14: .line 1050
      StackMap locals:
      StackMap stack:
            iload 2 /* streamId */
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.lastPeerStreamId:I
            if_icmpge 16
        15: .line 1051
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;)V
            athrow
        16: .line 1054
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* streamId */
            aload 6 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.registerStream:(ILorg/glassfish/grizzly/http2/Http2Stream;)V
        17: .line 1055
            aload 0 /* this */
            iload 2 /* streamId */
            putfield org.glassfish.grizzly.http2.Http2Session.lastPeerStreamId:I
        18: .line 1030
            aload 7
            monitorexit
        19: goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: aload 7
            monitorexit
        21: athrow
        22: .line 1058
      StackMap locals:
      StackMap stack:
            aload 6 /* stream */
            areturn
        end local 6 // org.glassfish.grizzly.http2.Http2Stream stream
        end local 5 // int priority
        end local 4 // boolean exclusive
        end local 3 // int parentStreamId
        end local 2 // int streamId
        end local 1 // org.glassfish.grizzly.http.HttpRequestPacket request
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0            this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   23     1         request  Lorg/glassfish/grizzly/http/HttpRequestPacket;
            0   23     2        streamId  I
            0   23     3  parentStreamId  I
            0   23     4       exclusive  Z
            0   23     5        priority  I
            3   23     6          stream  Lorg/glassfish/grizzly/http2/Http2Stream;
      Exception table:
        from    to  target  type
           4     6      20  any
           7    19      20  any
          20    21      20  any
    Exceptions:
      throws org.glassfish.grizzly.http2.Http2SessionException
    MethodParameters:
                Name  Flags
      request         final
      streamId        final
      parentStreamId  final
      exclusive       final
      priority        final

  public org.glassfish.grizzly.http2.Http2Stream openStream(org.glassfish.grizzly.http.HttpRequestPacket, int, int, boolean, int);
    descriptor: (Lorg/glassfish/grizzly/http/HttpRequestPacket;IIZI)Lorg/glassfish/grizzly/http2/Http2Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=6
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.http.HttpRequestPacket request
        start local 2 // int streamId
        start local 3 // int parentStreamId
        start local 4 // boolean exclusive
        start local 5 // int priority
         0: .line 1081
            aload 0 /* this */
            aload 1 /* request */
         1: .line 1082
            iload 2 /* streamId */
            iload 3 /* parentStreamId */
            iload 4 /* exclusive */
         2: .line 1083
            iload 5 /* priority */
         3: .line 1081
            invokevirtual org.glassfish.grizzly.http2.Http2Session.newStream:(Lorg/glassfish/grizzly/http/HttpRequestPacket;IIZI)Lorg/glassfish/grizzly/http2/Http2Stream;
            astore 6 /* stream */
        start local 6 // org.glassfish.grizzly.http2.Http2Stream stream
         4: .line 1085
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionLock:Ljava/lang/Object;
            dup
            astore 7
            monitorenter
         5: .line 1086
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isClosed:()Z
            ifeq 9
         6: .line 1087
            new org.glassfish.grizzly.http2.Http2StreamException
            dup
            iload 2 /* streamId */
         7: .line 1088
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.REFUSED_STREAM:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "Session is closed"
         8: .line 1087
            invokespecial org.glassfish.grizzly.http2.Http2StreamException.<init>:(ILorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
         9: .line 1091
      StackMap locals: org.glassfish.grizzly.http2.Http2Stream java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.concurrentStreamsCount:I
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getLocalMaxConcurrentStreams:()I
            if_icmplt 11
        10: .line 1092
            new org.glassfish.grizzly.http2.Http2StreamException
            dup
            iload 2 /* streamId */
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.REFUSED_STREAM:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            invokespecial org.glassfish.grizzly.http2.Http2StreamException.<init>:(ILorg/glassfish/grizzly/http2/frames/ErrorCode;)V
            athrow
        11: .line 1095
      StackMap locals:
      StackMap stack:
            iload 3 /* parentStreamId */
            ifle 17
        12: .line 1096
            aload 0 /* this */
            iload 3 /* parentStreamId */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getStream:(I)Lorg/glassfish/grizzly/http2/Http2Stream;
            astore 8 /* mainStream */
        start local 8 // org.glassfish.grizzly.http2.Http2Stream mainStream
        13: .line 1097
            aload 8 /* mainStream */
            ifnonnull 17
        14: .line 1098
            new org.glassfish.grizzly.http2.Http2StreamException
            dup
            iload 2 /* streamId */
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.REFUSED_STREAM:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
        15: .line 1099
            ldc "The parent stream does not exist"
        16: .line 1098
            invokespecial org.glassfish.grizzly.http2.Http2StreamException.<init>:(ILorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
        end local 8 // org.glassfish.grizzly.http2.Http2Stream mainStream
        17: .line 1103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* streamId */
            aload 6 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.registerStream:(ILorg/glassfish/grizzly/http2/Http2Stream;)V
        18: .line 1104
            aload 0 /* this */
            iload 2 /* streamId */
            putfield org.glassfish.grizzly.http2.Http2Session.lastLocalStreamId:I
        19: .line 1085
            aload 7
            monitorexit
        20: goto 23
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: aload 7
            monitorexit
        22: athrow
        23: .line 1107
      StackMap locals:
      StackMap stack:
            aload 6 /* stream */
            areturn
        end local 6 // org.glassfish.grizzly.http2.Http2Stream stream
        end local 5 // int priority
        end local 4 // boolean exclusive
        end local 3 // int parentStreamId
        end local 2 // int streamId
        end local 1 // org.glassfish.grizzly.http.HttpRequestPacket request
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   24     0            this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   24     1         request  Lorg/glassfish/grizzly/http/HttpRequestPacket;
            0   24     2        streamId  I
            0   24     3  parentStreamId  I
            0   24     4       exclusive  Z
            0   24     5        priority  I
            4   24     6          stream  Lorg/glassfish/grizzly/http2/Http2Stream;
           13   17     8      mainStream  Lorg/glassfish/grizzly/http2/Http2Stream;
      Exception table:
        from    to  target  type
           5    20      21  any
          21    22      21  any
    Exceptions:
      throws org.glassfish.grizzly.http2.Http2StreamException
    MethodParameters:
                Name  Flags
      request         final
      streamId        final
      parentStreamId  final
      exclusive       final
      priority        final

  public org.glassfish.grizzly.http2.Http2Stream acceptUpgradeStream(org.glassfish.grizzly.http.HttpRequestPacket, int, boolean);
    descriptor: (Lorg/glassfish/grizzly/http/HttpRequestPacket;IZ)Lorg/glassfish/grizzly/http2/Http2Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.http.HttpRequestPacket request
        start local 2 // int priority
        start local 3 // boolean fin
         0: .line 1126
            aload 1 /* request */
            iload 3 /* fin */
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.http.HttpRequestPacket
         1: iconst_1
      StackMap locals: org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.http.HttpRequestPacket int int
      StackMap stack: org.glassfish.grizzly.http.HttpRequestPacket int
         2: invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.setExpectContent:(Z)V
         3: .line 1127
            aload 0 /* this */
            aload 1 /* request */
            iload 2 /* priority */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.newUpgradeStream:(Lorg/glassfish/grizzly/http/HttpRequestPacket;I)Lorg/glassfish/grizzly/http2/Http2Stream;
            astore 4 /* stream */
        start local 4 // org.glassfish.grizzly.http2.Http2Stream stream
         4: .line 1129
            aload 0 /* this */
            aload 4 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.registerUpgradeStream:(Lorg/glassfish/grizzly/http2/Http2Stream;)V
         5: .line 1131
            aload 4 /* stream */
            areturn
        end local 4 // org.glassfish.grizzly.http2.Http2Stream stream
        end local 3 // boolean fin
        end local 2 // int priority
        end local 1 // org.glassfish.grizzly.http.HttpRequestPacket request
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    6     1   request  Lorg/glassfish/grizzly/http/HttpRequestPacket;
            0    6     2  priority  I
            0    6     3       fin  Z
            4    6     4    stream  Lorg/glassfish/grizzly/http2/Http2Stream;
    Exceptions:
      throws org.glassfish.grizzly.http2.Http2StreamException
    MethodParameters:
          Name  Flags
      request   final
      priority  final
      fin       final

  public org.glassfish.grizzly.http2.Http2Stream openUpgradeStream(org.glassfish.grizzly.http.HttpRequestPacket, int);
    descriptor: (Lorg/glassfish/grizzly/http/HttpRequestPacket;I)Lorg/glassfish/grizzly/http2/Http2Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.http.HttpRequestPacket request
        start local 2 // int priority
         0: .line 1150
            aload 0 /* this */
            aload 1 /* request */
            iload 2 /* priority */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.newUpgradeStream:(Lorg/glassfish/grizzly/http/HttpRequestPacket;I)Lorg/glassfish/grizzly/http2/Http2Stream;
            astore 3 /* stream */
        start local 3 // org.glassfish.grizzly.http2.Http2Stream stream
         1: .line 1152
            aload 0 /* this */
            aload 3 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.registerUpgradeStream:(Lorg/glassfish/grizzly/http2/Http2Stream;)V
         2: .line 1154
            aload 3 /* stream */
            areturn
        end local 3 // org.glassfish.grizzly.http2.Http2Stream stream
        end local 2 // int priority
        end local 1 // org.glassfish.grizzly.http.HttpRequestPacket request
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    3     1   request  Lorg/glassfish/grizzly/http/HttpRequestPacket;
            0    3     2  priority  I
            1    3     3    stream  Lorg/glassfish/grizzly/http2/Http2Stream;
    Exceptions:
      throws org.glassfish.grizzly.http2.Http2StreamException
    MethodParameters:
          Name  Flags
      request   final
      priority  final

  void setupFilterChains(org.glassfish.grizzly.filterchain.FilterChainContext, boolean);
    descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Z)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.filterchain.FilterChainContext context
        start local 2 // boolean isUpStream
         0: .line 1166
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.htt2SessionChain:Lorg/glassfish/grizzly/filterchain/FilterChain;
            ifnonnull 21
         1: .line 1167
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         2: .line 1168
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.htt2SessionChain:Lorg/glassfish/grizzly/filterchain/FilterChain;
            ifnonnull 17
         3: .line 1169
            iload 2 /* isUpStream */
            ifeq 11
         4: .line 1170
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getFilterChain:()Lorg/glassfish/grizzly/filterchain/FilterChain;
         5: .line 1171
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getFilterIdx:()I
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getEndIdx:()I
         6: .line 1170
            invokeinterface org.glassfish.grizzly.filterchain.FilterChain.subList:(II)Ljava/util/List;
            checkcast org.glassfish.grizzly.filterchain.FilterChain
            putfield org.glassfish.grizzly.http2.Http2Session.http2StreamChain:Lorg/glassfish/grizzly/filterchain/FilterChain;
         7: .line 1173
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getFilterChain:()Lorg/glassfish/grizzly/filterchain/FilterChain;
         8: .line 1174
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getStartIdx:()I
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getFilterIdx:()I
         9: .line 1173
            invokeinterface org.glassfish.grizzly.filterchain.FilterChain.subList:(II)Ljava/util/List;
            checkcast org.glassfish.grizzly.filterchain.FilterChain
            putfield org.glassfish.grizzly.http2.Http2Session.htt2SessionChain:Lorg/glassfish/grizzly/filterchain/FilterChain;
        10: .line 1175
            goto 17
        11: .line 1176
      StackMap locals: org.glassfish.grizzly.http2.Http2Session
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getFilterChain:()Lorg/glassfish/grizzly/filterchain/FilterChain;
        12: .line 1177
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getFilterIdx:()I
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getFilterChain:()Lorg/glassfish/grizzly/filterchain/FilterChain;
            invokeinterface org.glassfish.grizzly.filterchain.FilterChain.size:()I
        13: .line 1176
            invokeinterface org.glassfish.grizzly.filterchain.FilterChain.subList:(II)Ljava/util/List;
            checkcast org.glassfish.grizzly.filterchain.FilterChain
            putfield org.glassfish.grizzly.http2.Http2Session.http2StreamChain:Lorg/glassfish/grizzly/filterchain/FilterChain;
        14: .line 1179
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getFilterChain:()Lorg/glassfish/grizzly/filterchain/FilterChain;
        15: .line 1180
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getEndIdx:()I
            iconst_1
            iadd
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getFilterIdx:()I
        16: .line 1179
            invokeinterface org.glassfish.grizzly.filterchain.FilterChain.subList:(II)Ljava/util/List;
            checkcast org.glassfish.grizzly.filterchain.FilterChain
            putfield org.glassfish.grizzly.http2.Http2Session.htt2SessionChain:Lorg/glassfish/grizzly/filterchain/FilterChain;
        17: .line 1167
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        18: goto 21
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: aload 3
            monitorexit
        20: athrow
        21: .line 1185
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean isUpStream
        end local 1 // org.glassfish.grizzly.filterchain.FilterChainContext context
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   22     1     context  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            0   22     2  isUpStream  Z
      Exception table:
        from    to  target  type
           2    18      19  any
          19    20      19  any
    MethodParameters:
            Name  Flags
      context     final
      isUpStream  final

  org.glassfish.grizzly.filterchain.FilterChain getHttp2SessionChain();
    descriptor: ()Lorg/glassfish/grizzly/filterchain/FilterChain;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 1188
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.htt2SessionChain:Lorg/glassfish/grizzly/filterchain/FilterChain;
            areturn
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  void deregisterStream();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 1195
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.decStreamCount:()V
         1: .line 1198
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         2: .line 1200
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isGoingAway:()Z
            ifeq 3
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.concurrentStreamsCount:I
            ifne 3
            iconst_1
            goto 4
      StackMap locals: org.glassfish.grizzly.http2.Http2Session top java.lang.Object
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 1 /* isCloseSession */
        start local 1 // boolean isCloseSession
         5: .line 1201
            iload 1 /* isCloseSession */
            ifne 17
         6: .line 1202
            aload 0 /* this */
            dup
            getfield org.glassfish.grizzly.http2.Http2Session.checkCount:I
            dup_x1
            iconst_1
            iadd
            putfield org.glassfish.grizzly.http2.Http2Session.checkCount:I
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.http2Configuration:Lorg/glassfish/grizzly/http2/Http2Configuration;
            invokevirtual org.glassfish.grizzly.http2.Http2Configuration.getCleanFrequencyCheck:()I
            if_icmple 17
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.streamsMap:Ljava/util/TreeMap;
            invokevirtual java.util.TreeMap.size:()I
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.streamsHighWaterMark:I
            if_icmple 17
         7: .line 1203
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.grizzly.http2.Http2Session.checkCount:I
         8: .line 1204
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.streamsHighWaterMark:I
            i2f
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.http2Configuration:Lorg/glassfish/grizzly/http2/Http2Configuration;
            invokevirtual org.glassfish.grizzly.http2.Http2Configuration.getCleanPercentage:()F
            fmul
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            invokevirtual java.lang.Float.intValue:()I
            istore 3 /* maxCount */
        start local 3 // int maxCount
         9: .line 1205
            iconst_0
            istore 4 /* count */
        start local 4 // int count
        10: .line 1206
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.streamsMap:Ljava/util/TreeMap;
            invokevirtual java.util.TreeMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5 /* streamIds */
        start local 5 // java.util.Iterator streamIds
        11: goto 16
        12: .line 1207
      StackMap locals: org.glassfish.grizzly.http2.Http2Session int java.lang.Object int int java.util.Iterator
      StackMap stack:
            aload 5 /* streamIds */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
        13: .line 1208
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.glassfish.grizzly.http2.Http2Stream
            invokevirtual org.glassfish.grizzly.http2.Http2Stream.isClosed:()Z
            ifeq 15
        14: .line 1209
            aload 5 /* streamIds */
            invokeinterface java.util.Iterator.remove:()V
        15: .line 1211
      StackMap locals: java.util.Map$Entry
      StackMap stack:
            iinc 4 /* count */ 1
        end local 6 // java.util.Map$Entry entry
        16: .line 1206
      StackMap locals:
      StackMap stack:
            aload 5 /* streamIds */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 17
            iload 4 /* count */
            iload 3 /* maxCount */
            if_icmplt 12
        end local 5 // java.util.Iterator streamIds
        end local 4 // int count
        end local 3 // int maxCount
        17: .line 1198
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        18: goto 21
        end local 1 // boolean isCloseSession
      StackMap locals: org.glassfish.grizzly.http2.Http2Session top java.lang.Object
      StackMap stack: java.lang.Throwable
        19: aload 2
            monitorexit
        20: athrow
        start local 1 // boolean isCloseSession
        21: .line 1217
      StackMap locals: org.glassfish.grizzly.http2.Http2Session int
      StackMap stack:
            iload 1 /* isCloseSession */
            ifeq 26
        22: .line 1218
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionClosed:Lorg/glassfish/grizzly/impl/FutureImpl;
            ifnull 25
        23: .line 1219
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionClosed:Lorg/glassfish/grizzly/impl/FutureImpl;
            aload 0 /* this */
            invokeinterface org.glassfish.grizzly.impl.FutureImpl.result:(Ljava/lang/Object;)V
        24: .line 1220
            goto 26
        25: .line 1221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.NO_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "Session closed"
            invokevirtual org.glassfish.grizzly.http2.Http2Session.terminate:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
        26: .line 1224
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean isCloseSession
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   27     0            this  Lorg/glassfish/grizzly/http2/Http2Session;
            5   19     1  isCloseSession  Z
           21   27     1  isCloseSession  Z
            9   17     3        maxCount  I
           10   17     4           count  I
           11   17     5       streamIds  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/Integer;Lorg/glassfish/grizzly/http2/Http2Stream;>;>;
           13   16     6           entry  Ljava/util/Map$Entry<Ljava/lang/Integer;Lorg/glassfish/grizzly/http2/Http2Stream;>;
      Exception table:
        from    to  target  type
           2    18      19  any
          19    20      19  any

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

  void sendMessageUpstreamWithParseNotify(org.glassfish.grizzly.http2.Http2Stream, org.glassfish.grizzly.http.HttpContent);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Stream;Lorg/glassfish/grizzly/http/HttpContent;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.http2.Http2Stream stream
        start local 2 // org.glassfish.grizzly.http.HttpContent httpContent
         0: .line 1233
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.http2StreamChain:Lorg/glassfish/grizzly/filterchain/FilterChain;
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.connection:Lorg/glassfish/grizzly/Connection;
            aload 1 /* stream */
            invokeinterface org.glassfish.grizzly.filterchain.FilterChain.obtainFilterChainContext:(Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/Closeable;)Lorg/glassfish/grizzly/filterchain/FilterChainContext;
         1: .line 1232
            astore 3 /* upstreamContext */
        start local 3 // org.glassfish.grizzly.filterchain.FilterChainContext upstreamContext
         2: .line 1235
            aload 2 /* httpContent */
            invokevirtual org.glassfish.grizzly.http.HttpContent.getHttpHeader:()Lorg/glassfish/grizzly/http/HttpHeader;
         3: .line 1236
            invokevirtual org.glassfish.grizzly.http.HttpHeader.getProcessingState:()Lorg/glassfish/grizzly/http/ProcessingState;
            invokevirtual org.glassfish.grizzly.http.ProcessingState.getHttpContext:()Lorg/glassfish/grizzly/http/HttpContext;
         4: .line 1235
            astore 4 /* httpContext */
        start local 4 // org.glassfish.grizzly.http.HttpContext httpContext
         5: .line 1237
            aload 4 /* httpContext */
            aload 3 /* upstreamContext */
            invokevirtual org.glassfish.grizzly.http.HttpContext.attach:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Lorg/glassfish/grizzly/http/HttpContext;
            pop
         6: .line 1239
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.handlerFilter:Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            aload 2 /* httpContent */
            aload 3 /* upstreamContext */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.onHttpContentParsed:(Lorg/glassfish/grizzly/http/HttpContent;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
         7: .line 1240
            aload 2 /* httpContent */
            invokevirtual org.glassfish.grizzly.http.HttpContent.getHttpHeader:()Lorg/glassfish/grizzly/http/HttpHeader;
            astore 5 /* header */
        start local 5 // org.glassfish.grizzly.http.HttpHeader header
         8: .line 1241
            aload 2 /* httpContent */
            invokevirtual org.glassfish.grizzly.http.HttpContent.isLast:()Z
            ifeq 10
         9: .line 1242
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.handlerFilter:Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            aload 5 /* header */
            aload 3 /* upstreamContext */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.onHttpPacketParsed:(Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Z
            pop
        10: .line 1245
      StackMap locals: org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http.HttpContext org.glassfish.grizzly.http.HttpHeader
      StackMap stack:
            aload 5 /* header */
            invokevirtual org.glassfish.grizzly.http.HttpHeader.isSkipRemainder:()Z
            ifeq 12
        11: .line 1246
            return
        12: .line 1249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* stream */
            aload 2 /* httpContent */
            aload 3 /* upstreamContext */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.sendMessageUpstream:(Lorg/glassfish/grizzly/http2/Http2Stream;Lorg/glassfish/grizzly/http/HttpPacket;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
        13: .line 1250
            return
        end local 5 // org.glassfish.grizzly.http.HttpHeader header
        end local 4 // org.glassfish.grizzly.http.HttpContext httpContext
        end local 3 // org.glassfish.grizzly.filterchain.FilterChainContext upstreamContext
        end local 2 // org.glassfish.grizzly.http.HttpContent httpContent
        end local 1 // org.glassfish.grizzly.http2.Http2Stream stream
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   14     1           stream  Lorg/glassfish/grizzly/http2/Http2Stream;
            0   14     2      httpContent  Lorg/glassfish/grizzly/http/HttpContent;
            2   14     3  upstreamContext  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            5   14     4      httpContext  Lorg/glassfish/grizzly/http/HttpContext;
            8   14     5           header  Lorg/glassfish/grizzly/http/HttpHeader;
    MethodParameters:
             Name  Flags
      stream       final
      httpContent  final

  void sendMessageUpstream(org.glassfish.grizzly.http2.Http2Stream, org.glassfish.grizzly.http.HttpPacket);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Stream;Lorg/glassfish/grizzly/http/HttpPacket;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.http2.Http2Stream stream
        start local 2 // org.glassfish.grizzly.http.HttpPacket message
         0: .line 1255
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.http2StreamChain:Lorg/glassfish/grizzly/filterchain/FilterChain;
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.connection:Lorg/glassfish/grizzly/Connection;
            aload 1 /* stream */
            invokeinterface org.glassfish.grizzly.filterchain.FilterChain.obtainFilterChainContext:(Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/Closeable;)Lorg/glassfish/grizzly/filterchain/FilterChainContext;
         1: .line 1254
            astore 3 /* upstreamContext */
        start local 3 // org.glassfish.grizzly.filterchain.FilterChainContext upstreamContext
         2: .line 1257
            aload 2 /* message */
            invokevirtual org.glassfish.grizzly.http.HttpPacket.getHttpHeader:()Lorg/glassfish/grizzly/http/HttpHeader;
         3: .line 1258
            invokevirtual org.glassfish.grizzly.http.HttpHeader.getProcessingState:()Lorg/glassfish/grizzly/http/ProcessingState;
            invokevirtual org.glassfish.grizzly.http.ProcessingState.getHttpContext:()Lorg/glassfish/grizzly/http/HttpContext;
         4: .line 1257
            astore 4 /* httpContext */
        start local 4 // org.glassfish.grizzly.http.HttpContext httpContext
         5: .line 1259
            aload 4 /* httpContext */
            aload 3 /* upstreamContext */
            invokevirtual org.glassfish.grizzly.http.HttpContext.attach:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Lorg/glassfish/grizzly/http/HttpContext;
            pop
         6: .line 1261
            aload 0 /* this */
            aload 1 /* stream */
            aload 2 /* message */
            aload 3 /* upstreamContext */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.sendMessageUpstream:(Lorg/glassfish/grizzly/http2/Http2Stream;Lorg/glassfish/grizzly/http/HttpPacket;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
         7: .line 1262
            return
        end local 4 // org.glassfish.grizzly.http.HttpContext httpContext
        end local 3 // org.glassfish.grizzly.filterchain.FilterChainContext upstreamContext
        end local 2 // org.glassfish.grizzly.http.HttpPacket message
        end local 1 // org.glassfish.grizzly.http2.Http2Stream stream
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    8     1           stream  Lorg/glassfish/grizzly/http2/Http2Stream;
            0    8     2          message  Lorg/glassfish/grizzly/http/HttpPacket;
            2    8     3  upstreamContext  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            5    8     4      httpContext  Lorg/glassfish/grizzly/http/HttpContext;
    MethodParameters:
         Name  Flags
      stream   final
      message  final

  private void sendMessageUpstream(org.glassfish.grizzly.http2.Http2Stream, org.glassfish.grizzly.http.HttpPacket, org.glassfish.grizzly.filterchain.FilterChainContext);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Stream;Lorg/glassfish/grizzly/http/HttpPacket;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.http2.Http2Stream stream
        start local 2 // org.glassfish.grizzly.http.HttpPacket message
        start local 3 // org.glassfish.grizzly.filterchain.FilterChainContext upstreamContext
         0: .line 1268
            aload 3 /* upstreamContext */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getInternalContext:()Lorg/glassfish/grizzly/Context;
            getstatic org.glassfish.grizzly.IOEvent.READ:Lorg/glassfish/grizzly/IOEvent;
            invokevirtual org.glassfish.grizzly.Context.setIoEvent:(Lorg/glassfish/grizzly/IOEvent;)V
         1: .line 1269
            aload 3 /* upstreamContext */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getInternalContext:()Lorg/glassfish/grizzly/Context;
         2: .line 1270
            new org.glassfish.grizzly.http2.Http2Session$4
            dup
            aload 0 /* this */
            aload 1 /* stream */
            invokespecial org.glassfish.grizzly.http2.Http2Session$4.<init>:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/Http2Stream;)V
         3: .line 1269
            invokevirtual org.glassfish.grizzly.Context.addLifeCycleListener:(Lorg/glassfish/grizzly/IOEventLifeCycleListener;)V
         4: .line 1282
            aload 3 /* upstreamContext */
            aload 2 /* message */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.setMessage:(Ljava/lang/Object;)V
         5: .line 1283
            aload 3 /* upstreamContext */
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.addressHolder:Lorg/glassfish/grizzly/utils/Holder;
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.setAddressHolder:(Lorg/glassfish/grizzly/utils/Holder;)V
         6: .line 1285
            aload 3 /* upstreamContext */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getInternalContext:()Lorg/glassfish/grizzly/Context;
            invokestatic org.glassfish.grizzly.ProcessorExecutor.execute:(Lorg/glassfish/grizzly/Context;)V
         7: .line 1286
            return
        end local 3 // org.glassfish.grizzly.filterchain.FilterChainContext upstreamContext
        end local 2 // org.glassfish.grizzly.http.HttpPacket message
        end local 1 // org.glassfish.grizzly.http2.Http2Stream stream
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    8     1           stream  Lorg/glassfish/grizzly/http2/Http2Stream;
            0    8     2          message  Lorg/glassfish/grizzly/http/HttpPacket;
            0    8     3  upstreamContext  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
    MethodParameters:
                 Name  Flags
      stream           final
      message          final
      upstreamContext  final

  protected org.glassfish.grizzly.http2.frames.SettingsFrame$SettingsFrameBuilder prepareSettings();
    descriptor: ()Lorg/glassfish/grizzly/http2/frames/SettingsFrame$SettingsFrameBuilder;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 1290
            invokestatic org.glassfish.grizzly.http2.frames.SettingsFrame.builder:()Lorg/glassfish/grizzly/http2/frames/SettingsFrame$SettingsFrameBuilder;
            astore 1 /* builder */
        start local 1 // org.glassfish.grizzly.http2.frames.SettingsFrame$SettingsFrameBuilder builder
         1: .line 1292
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getLocalMaxConcurrentStreams:()I
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getDefaultMaxConcurrentStreams:()I
            if_icmpeq 3
         2: .line 1293
            aload 1 /* builder */
            iconst_3
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getLocalMaxConcurrentStreams:()I
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$SettingsFrameBuilder.setting:(II)Lorg/glassfish/grizzly/http2/frames/SettingsFrame$SettingsFrameBuilder;
            pop
         3: .line 1296
      StackMap locals: org.glassfish.grizzly.http2.frames.SettingsFrame$SettingsFrameBuilder
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getLocalStreamWindowSize:()I
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getDefaultStreamWindowSize:()I
            if_icmpeq 5
         4: .line 1297
            aload 1 /* builder */
            iconst_4
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getLocalStreamWindowSize:()I
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$SettingsFrameBuilder.setting:(II)Lorg/glassfish/grizzly/http2/frames/SettingsFrame$SettingsFrameBuilder;
            pop
         5: .line 1300
      StackMap locals:
      StackMap stack:
            aload 1 /* builder */
            bipush 6
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getMaxHeaderListSize:()I
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$SettingsFrameBuilder.setting:(II)Lorg/glassfish/grizzly/http2/frames/SettingsFrame$SettingsFrameBuilder;
            pop
         6: .line 1302
            aload 1 /* builder */
            areturn
        end local 1 // org.glassfish.grizzly.http2.frames.SettingsFrame$SettingsFrameBuilder builder
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/glassfish/grizzly/http2/Http2Session;
            1    7     1  builder  Lorg/glassfish/grizzly/http2/frames/SettingsFrame$SettingsFrameBuilder;

  void ackConsumedData(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // int sz
         0: .line 1313
            aload 0 /* this */
            aconst_null
            iload 1 /* sz */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.ackConsumedData:(Lorg/glassfish/grizzly/http2/Http2Stream;I)V
         1: .line 1314
            return
        end local 1 // int sz
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    2     1    sz  I
    MethodParameters:
      Name  Flags
      sz    final

  void ackConsumedData(org.glassfish.grizzly.http2.Http2Stream, int);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Stream;I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.http2.Http2Stream stream
        start local 2 // int sz
         0: .line 1328
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.unackedReadBytes:Ljava/util/concurrent/atomic/AtomicInteger;
            iload 2 /* sz */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.addAndGet:(I)I
         1: .line 1327
            istore 3 /* currentUnackedBytes */
        start local 3 // int currentUnackedBytes
         2: .line 1330
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.isPrefaceSent:Z
            ifeq 15
         3: .line 1332
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getLocalConnectionWindowSize:()I
            istore 4 /* windowSize */
        start local 4 // int windowSize
         4: .line 1335
            iload 3 /* currentUnackedBytes */
            iload 4 /* windowSize */
            iconst_3
            idiv
            if_icmple 7
         5: .line 1336
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.unackedReadBytes:Ljava/util/concurrent/atomic/AtomicInteger;
            iload 3 /* currentUnackedBytes */
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicInteger.compareAndSet:(II)Z
            ifeq 7
         6: .line 1338
            aload 0 /* this */
            iconst_0
            iload 3 /* currentUnackedBytes */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.sendWindowUpdate:(II)V
         7: .line 1341
      StackMap locals: int int
      StackMap stack:
            aload 1 /* stream */
            ifnull 15
         8: .line 1344
            getstatic org.glassfish.grizzly.http2.Http2Stream.unackedReadBytesUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            aload 1 /* stream */
            iload 2 /* sz */
            invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.addAndGet:(Ljava/lang/Object;I)I
         9: .line 1343
            istore 5 /* streamUnackedBytes */
        start local 5 // int streamUnackedBytes
        10: .line 1345
            aload 1 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Stream.getLocalWindowSize:()I
            istore 6 /* streamWindowSize */
        start local 6 // int streamWindowSize
        11: .line 1348
            iload 5 /* streamUnackedBytes */
            ifle 15
        12: .line 1349
            iload 5 /* streamUnackedBytes */
            iload 6 /* streamWindowSize */
            iconst_2
            idiv
            if_icmple 15
        13: .line 1350
            getstatic org.glassfish.grizzly.http2.Http2Stream.unackedReadBytesUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            aload 1 /* stream */
            iload 5 /* streamUnackedBytes */
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
            ifeq 15
        14: .line 1352
            aload 0 /* this */
            aload 1 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Stream.getId:()I
            iload 5 /* streamUnackedBytes */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.sendWindowUpdate:(II)V
        end local 6 // int streamWindowSize
        end local 5 // int streamUnackedBytes
        end local 4 // int windowSize
        15: .line 1356
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int currentUnackedBytes
        end local 2 // int sz
        end local 1 // org.glassfish.grizzly.http2.Http2Stream stream
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   16     0                 this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   16     1               stream  Lorg/glassfish/grizzly/http2/Http2Stream;
            0   16     2                   sz  I
            2   16     3  currentUnackedBytes  I
            4   15     4           windowSize  I
           10   15     5   streamUnackedBytes  I
           11   15     6     streamWindowSize  I
    MethodParameters:
        Name  Flags
      stream  final
      sz      final

  void registerStream(int, org.glassfish.grizzly.http2.Http2Stream);
    descriptor: (ILorg/glassfish/grizzly/http2/Http2Stream;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // int streamId
        start local 2 // org.glassfish.grizzly.http2.Http2Stream stream
         0: .line 1362
            iload 1 /* streamId */
            iconst_1
            if_icmpge 2
         1: .line 1363
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid stream ID"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1365
      StackMap locals:
      StackMap stack:
            aload 2 /* stream */
            ifnonnull 4
         3: .line 1366
            new java.lang.NullPointerException
            dup
            ldc "Attempt to register null stream"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1369
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.streamsMap:Ljava/util/TreeMap;
            iload 1 /* streamId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* stream */
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 1370
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.incStreamCount:()V
         6: .line 1371
            return
        end local 2 // org.glassfish.grizzly.http2.Http2Stream stream
        end local 1 // int streamId
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    7     1  streamId  I
            0    7     2    stream  Lorg/glassfish/grizzly/http2/Http2Stream;
    MethodParameters:
          Name  Flags
      streamId  final
      stream    final

  private void registerUpgradeStream(org.glassfish.grizzly.http2.Http2Stream);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Stream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
        start local 1 // org.glassfish.grizzly.http2.Http2Stream stream
         0: .line 1374
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 1375
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isClosed:()Z
            ifeq 5
         2: .line 1376
            new org.glassfish.grizzly.http2.Http2StreamException
            dup
            iconst_1
         3: .line 1377
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.REFUSED_STREAM:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "Session is closed"
         4: .line 1376
            invokespecial org.glassfish.grizzly.http2.Http2StreamException.<init>:(ILorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
         5: .line 1380
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            iconst_1
            aload 1 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.registerStream:(ILorg/glassfish/grizzly/http2/Http2Stream;)V
         6: .line 1381
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isServer:()Z
            ifne 8
         7: .line 1382
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.http2.Http2Session.lastLocalStreamId:I
         8: .line 1374
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
         9: goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: aload 2
            monitorexit
        11: athrow
        12: .line 1385
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.glassfish.grizzly.http2.Http2Stream stream
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   13     1  stream  Lorg/glassfish/grizzly/http2/Http2Stream;
      Exception table:
        from    to  target  type
           1     9      10  any
          10    11      10  any
    Exceptions:
      throws org.glassfish.grizzly.http2.Http2StreamException
    MethodParameters:
        Name  Flags
      stream  final

  void incStreamCount();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 1388
            getstatic org.glassfish.grizzly.http2.Http2Session.concurrentStreamCountUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            aload 0 /* this */
            invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.incrementAndGet:(Ljava/lang/Object;)I
            pop
         1: .line 1389
            return
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http2/Http2Session;

  void decStreamCount();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 1392
            getstatic org.glassfish.grizzly.http2.Http2Session.concurrentStreamCountUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            aload 0 /* this */
            invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.decrementAndGet:(Ljava/lang/Object;)I
            pop
         1: .line 1393
            return
        end local 0 // org.glassfish.grizzly.http2.Http2Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http2/Http2Session;
}
SourceFile: "Http2Session.java"
NestMembers:
  org.glassfish.grizzly.http2.Http2Session$1  org.glassfish.grizzly.http2.Http2Session$2  org.glassfish.grizzly.http2.Http2Session$3  org.glassfish.grizzly.http2.Http2Session$4  org.glassfish.grizzly.http2.Http2Session$ConnectionCloseListener
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public Builder = org.glassfish.grizzly.http.HttpContent$Builder of org.glassfish.grizzly.http.HttpContent
  public abstract Builder = org.glassfish.grizzly.http.HttpHeader$Builder of org.glassfish.grizzly.http.HttpHeader
  public Builder = org.glassfish.grizzly.http.HttpRequestPacket$Builder of org.glassfish.grizzly.http.HttpRequestPacket
  org.glassfish.grizzly.http2.Http2Session$1
  org.glassfish.grizzly.http2.Http2Session$2
  org.glassfish.grizzly.http2.Http2Session$3
  org.glassfish.grizzly.http2.Http2Session$4
  private final ConnectionCloseListener = org.glassfish.grizzly.http2.Http2Session$ConnectionCloseListener of org.glassfish.grizzly.http2.Http2Session
  final Context = org.glassfish.grizzly.http2.NetLogger$Context of org.glassfish.grizzly.http2.NetLogger
  public ContinuationFrameBuilder = org.glassfish.grizzly.http2.frames.ContinuationFrame$ContinuationFrameBuilder of org.glassfish.grizzly.http2.frames.ContinuationFrame
  public GoAwayFrameBuilder = org.glassfish.grizzly.http2.frames.GoAwayFrame$GoAwayFrameBuilder of org.glassfish.grizzly.http2.frames.GoAwayFrame
  public abstract HeaderBlockFragmentBuilder = org.glassfish.grizzly.http2.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder of org.glassfish.grizzly.http2.frames.HeaderBlockFragment
  public HeadersFrameBuilder = org.glassfish.grizzly.http2.frames.HeadersFrame$HeadersFrameBuilder of org.glassfish.grizzly.http2.frames.HeadersFrame
  public PushPromiseFrameBuilder = org.glassfish.grizzly.http2.frames.PushPromiseFrame$PushPromiseFrameBuilder of org.glassfish.grizzly.http2.frames.PushPromiseFrame
  public SettingsFrameBuilder = org.glassfish.grizzly.http2.frames.SettingsFrame$SettingsFrameBuilder of org.glassfish.grizzly.http2.frames.SettingsFrame
  public WindowUpdateFrameBuilder = org.glassfish.grizzly.http2.frames.WindowUpdateFrame$WindowUpdateFrameBuilder of org.glassfish.grizzly.http2.frames.WindowUpdateFrame
  public abstract LazyHolder = org.glassfish.grizzly.utils.Holder$LazyHolder of org.glassfish.grizzly.utils.Holder
  protected abstract Http2FrameBuilder = org.glassfish.grizzly.http2.frames.Http2Frame$Http2FrameBuilder of org.glassfish.grizzly.http2.frames.Http2Frame