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 final java.util.concurrent.atomic.AtomicInteger concurrentStreamsCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  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=1, locals=0, args_size=0
         0: .line 87
            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 88
            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;
            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 151
            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 152
            aload 1 /* http2State */
            ifnull 2
            aload 1 /* http2State */
            invokevirtual org.glassfish.grizzly.http2.Http2State.getHttp2Session:()Lorg/glassfish/grizzly/http2/Http2Session;
            goto 3
      StackMap locals: org.glassfish.grizzly.http2.Http2State
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.http2.Http2Session
         3: 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    4     0  connection  Lorg/glassfish/grizzly/Connection;
            1    4     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 156
            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 157
            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=4, 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 171
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 97
            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 101
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.http2.Http2Session.pushEnabled:Z
         3: .line 103
            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 108
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putfield org.glassfish.grizzly.http2.Http2Session.concurrentStreamsCount:Ljava/util/concurrent/atomic/AtomicInteger;
         5: .line 110
            aload 0 /* this */
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            putfield org.glassfish.grizzly.http2.Http2Session.streamsMap:Ljava/util/TreeMap;
         6: .line 115
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.glassfish.grizzly.http2.Http2Session.streamsToFlushInput:Ljava/util/List;
         7: .line 119
            aload 0 /* this */
            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 121
            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 125
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getDefaultStreamWindowSize:()I
            putfield org.glassfish.grizzly.http2.Http2Session.peerStreamWindowSize:I
        10: .line 126
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getDefaultStreamWindowSize:()I
            putfield org.glassfish.grizzly.http2.Http2Session.localStreamWindowSize:I
        11: .line 128
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getDefaultConnectionWindowSize:()I
            putfield org.glassfish.grizzly.http2.Http2Session.localConnectionWindowSize:I
        12: .line 132
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getDefaultMaxConcurrentStreams:()I
            putfield org.glassfish.grizzly.http2.Http2Session.localMaxConcurrentStreams:I
        13: .line 133
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getDefaultMaxConcurrentStreams:()I
            putfield org.glassfish.grizzly.http2.Http2Session.peerMaxConcurrentStreams:I
        14: .line 142
            aload 0 /* this */
            ldc -2147483648
            putfield org.glassfish.grizzly.http2.Http2Session.goingAwayLastStreamId:I
        15: .line 164
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getSpecDefaultFramePayloadSize:()I
            putfield org.glassfish.grizzly.http2.Http2Session.peerMaxFramePayloadSize:I
        16: .line 166
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.http2.Http2Session.isFirstInFrame:Z
        17: .line 169
            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 172
            aload 0 /* this */
            aload 1 /* connection */
            putfield org.glassfish.grizzly.http2.Http2Session.connection:Lorg/glassfish/grizzly/Connection;
        19: .line 173
            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 174
            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 175
            iload 5 /* sslIdx */
            iconst_m1
            if_icmpeq 23
        22: .line 176
            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 178
      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 179
            aload 0 /* this */
            aload 3 /* handlerFilter */
            putfield org.glassfish.grizzly.http2.Http2Session.handlerFilter:Lorg/glassfish/grizzly/http2/Http2BaseFilter;
        25: .line 181
            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 183
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.http2Configuration:Lorg/glassfish/grizzly/http2/Http2Configuration;
            invokevirtual org.glassfish.grizzly.http2.Http2Configuration.getMaxConcurrentStreams:()I
            iconst_m1
            if_icmpeq 29
        27: .line 184
            aload 0 /* this */
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.http2Configuration:Lorg/glassfish/grizzly/http2/Http2Configuration;
            invokevirtual org.glassfish.grizzly.http2.Http2Configuration.getMaxConcurrentStreams:()I
            invokevirtual org.glassfish.grizzly.http2.Http2Session.setLocalMaxConcurrentStreams:(I)V
        28: .line 185
            goto 30
        29: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getDefaultMaxConcurrentStreams:()I
            invokevirtual org.glassfish.grizzly.http2.Http2Session.setLocalMaxConcurrentStreams:(I)V
        30: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.http2Configuration:Lorg/glassfish/grizzly/http2/Http2Configuration;
            invokevirtual org.glassfish.grizzly.http2.Http2Configuration.getInitialWindowSize:()I
            iconst_m1
            if_icmpeq 32
        31: .line 190
            aload 0 /* this */
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.http2Configuration:Lorg/glassfish/grizzly/http2/Http2Configuration;
            invokevirtual org.glassfish.grizzly.http2.Http2Configuration.getInitialWindowSize:()I
            putfield org.glassfish.grizzly.http2.Http2Session.localStreamWindowSize:I
        32: .line 193
      StackMap locals:
      StackMap stack:
            aload 3 /* handlerFilter */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.getLocalMaxFramePayloadSize:()I
            ifle 33
            aload 3 /* handlerFilter */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.getLocalMaxFramePayloadSize:()I
            goto 34
      StackMap locals:
      StackMap stack:
        33: iconst_m1
      StackMap locals:
      StackMap stack: int
        34: istore 6 /* customMaxFramePayloadSz */
        start local 6 // int customMaxFramePayloadSz
        35: .line 196
            aload 0 /* this */
            iload 6 /* customMaxFramePayloadSz */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getSpecMinFramePayloadSize:()I
            if_icmplt 37
            iload 6 /* customMaxFramePayloadSz */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getSpecMaxFramePayloadSize:()I
            if_icmpgt 37
        36: .line 197
            iload 6 /* customMaxFramePayloadSz */
            goto 38
        37: .line 198
      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
        38: .line 196
      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
        39: .line 200
            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
        40: .line 202
            iload 2 /* isServer */
            ifeq 44
        41: .line 203
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.grizzly.http2.Http2Session.lastLocalStreamId:I
        42: .line 204
            aload 0 /* this */
            iconst_m1
            putfield org.glassfish.grizzly.http2.Http2Session.lastPeerStreamId:I
        43: .line 205
            goto 46
        44: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield org.glassfish.grizzly.http2.Http2Session.lastLocalStreamId:I
        45: .line 207
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.grizzly.http2.Http2Session.lastPeerStreamId:I
        46: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* connection */
            invokedynamic evaluate(Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/utils/NullaryFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/glassfish/grizzly/http2/Http2Session.lambda$0(Lorg/glassfish/grizzly/Connection;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            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;
        47: .line 212
            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
        48: .line 214
            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;
        49: .line 216
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.http2.NetLogger.logOpen:(Lorg/glassfish/grizzly/http2/Http2Session;)V
        50: .line 217
            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   51     0                     this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   51     1               connection  Lorg/glassfish/grizzly/Connection<*>;
            0   51     2                 isServer  Z
            0   51     3            handlerFilter  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
           20   51     4                    chain  Lorg/glassfish/grizzly/filterchain/FilterChain;
           21   51     5                   sslIdx  I
           35   51     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 220
            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 224
            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 228
            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 232
            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 236
            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 240
            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 244
            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 252
            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 262
            aload 0 /* this */
            iload 1 /* maxHeaderListSize */
            putfield org.glassfish.grizzly.http2.Http2Session.maxHeaderListSize:I
         1: .line 263
            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 275
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.remaining:()I
            iconst_4
            if_icmpge 2
         1: .line 276
            iconst_m1
            goto 3
         2: .line 277
      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 275
      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 282
            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 283
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.remaining:()I
            iload 2 /* len */
            if_icmpeq 3
         2: .line 284
            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 287
      StackMap locals: int
      StackMap stack:
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.getInt:()I
            istore 3 /* i1 */
        start local 3 // int i1
         4: .line 289
            iload 3 /* i1 */
            sipush 255
            iand
            istore 4 /* type */
        start local 4 // int type
         5: .line 291
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.get:()B
            sipush 255
            iand
            istore 5 /* flags */
        start local 5 // int flags
         6: .line 292
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.getInt:()I
            ldc 2147483647
            iand
            istore 6 /* streamId */
        start local 6 // int streamId
         7: .line 294
            iload 4 /* type */
            tableswitch { // 0 - 9
                    0: 8
                    1: 9
                    2: 10
                    3: 11
                    4: 12
                    5: 13
                    6: 14
                    7: 15
                    8: 16
                    9: 17
              default: 18
          }
         8: .line 296
      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
         9: .line 298
      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
        10: .line 300
      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
        11: .line 302
      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
        12: .line 304
      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
        13: .line 306
      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
        14: .line 308
      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
        15: .line 310
      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
        16: .line 312
      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
        17: .line 314
      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
        18: .line 316
      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   19     0      this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   19     1    buffer  Lorg/glassfish/grizzly/Buffer;
            1   19     2       len  I
            4   19     3        i1  I
            5   19     4      type  I
            6   19     5     flags  I
            7   19     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 322
            new org.glassfish.grizzly.http2.Http2Stream
            dup
            aload 0 /* this */
            aload 1 /* request */
            iload 2 /* streamId */
            iload 3 /* refStreamId */
            iload 4 /* exclusive */
            iload 5 /* priority */
            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    1     0         this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    1     1      request  Lorg/glassfish/grizzly/http/HttpRequestPacket;
            0    1     2     streamId  I
            0    1     3  refStreamId  I
            0    1     4    exclusive  Z
            0    1     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 327
            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 332
            aload 1 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getType:()I
            istore 2 /* frameType */
        start local 2 // int frameType
         1: .line 334
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.isFirstInFrame:Z
            ifeq 10
         2: .line 335
            iload 2 /* frameType */
            iconst_4
            if_icmpeq 6
         3: .line 336
            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 337
            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 340
      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 343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.http2.Http2Session.isPrefaceReceived:Z
         7: .line 344
            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 347
            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 349
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.grizzly.http2.Http2Session.isFirstInFrame:Z
        10: .line 353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isParsingHeaders:()Z
            ifeq 15
        11: .line 354
            iload 2 /* frameType */
            bipush 9
            if_icmpeq 19
        12: .line 355
            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 356
            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 359
      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 361
      StackMap locals:
      StackMap stack:
            iload 2 /* frameType */
            bipush 9
            if_icmpne 19
        16: .line 363
            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 364
            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 367
      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 369
      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 373
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.position:()I
            istore 2 /* oldPos */
        start local 2 // int oldPos
         1: .line 375
            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 376
      StackMap locals: org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.Buffer int
      StackMap stack: java.lang.Throwable
            astore 3
         3: .line 377
            aload 1 /* buffer */
            iload 2 /* oldPos */
            invokeinterface org.glassfish.grizzly.Buffer.position:(I)Lorg/glassfish/grizzly/Buffer;
            pop
         4: .line 378
            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 382
            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 389
            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 396
            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 407
            iload 1 /* peerMaxFramePayloadSize */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getSpecMinFramePayloadSize:()I
            if_icmplt 1
            iload 1 /* peerMaxFramePayloadSize */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getSpecMaxFramePayloadSize:()I
            if_icmple 2
         1: .line 408
      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
         2: .line 410
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* peerMaxFramePayloadSize */
            putfield org.glassfish.grizzly.http2.Http2Session.peerMaxFramePayloadSize:I
         3: .line 411
            return
        end local 1 // int peerMaxFramePayloadSize
        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  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 414
            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 418
            aload 0 /* this */
            iload 1 /* localStreamWindowSize */
            putfield org.glassfish.grizzly.http2.Http2Session.localStreamWindowSize:I
         1: .line 419
            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 422
            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 426
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 427
            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 429
            aload 0 /* this */
            iload 1 /* peerStreamWindowSize */
            putfield org.glassfish.grizzly.http2.Http2Session.peerStreamWindowSize:I
         3: .line 431
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.streamsMap:Ljava/util/TreeMap;
            invokevirtual java.util.TreeMap.isEmpty:()Z
            ifne 10
         4: .line 432
            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 433
            aload 4 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Stream.isClosed:()Z
            ifeq 8
         7: .line 434
            goto 9
         8: .line 436
      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 432
      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 426
      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 441
      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 444
            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 448
            aload 0 /* this */
            iload 1 /* localConnectionWindowSize */
            putfield org.glassfish.grizzly.http2.Http2Session.localConnectionWindowSize:I
         1: .line 449
            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 452
            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 459
            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 468
            aload 0 /* this */
            iload 1 /* localMaxConcurrentStreams */
            putfield org.glassfish.grizzly.http2.Http2Session.localMaxConcurrentStreams:I
         1: .line 469
            aload 0 /* this */
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.localMaxConcurrentStreams: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
            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 470
            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 477
            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 484
            aload 0 /* this */
            iload 1 /* peerMaxConcurrentStreams */
            putfield org.glassfish.grizzly.http2.Http2Session.peerMaxConcurrentStreams:I
         1: .line 485
            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 492
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.pushEnabled:Z
            ifeq 1
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.http2Configuration:Lorg/glassfish/grizzly/http2/Http2Configuration;
            invokevirtual org.glassfish.grizzly.http2.Http2Configuration.isPushEnabled:()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 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 501
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isGoingAway:()Z
            ifeq 2
         1: .line 502
            return
         2: .line 504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* pushEnabled */
            putfield org.glassfish.grizzly.http2.Http2Session.pushEnabled:Z
         3: .line 505
            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 508
            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 509
            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 513
            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 517
            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 521
            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 525
            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 527
      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 536
            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 540
            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 544
            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 548
            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 552
            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 559
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.isServer:Z
            ifne 2
         1: .line 560
            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 562
      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 563
            aload 1 /* frame */
            ifnull 6
         4: .line 564
            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 565
            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 567
      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 578
            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 579
            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 582
            aload 1 /* frame */
            ifnull 4
         1: .line 583
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.outputSink:Lorg/glassfish/grizzly/http2/Http2SessionOutputSink;
            aload 1 /* frame */
            new org.glassfish.grizzly.http2.Http2Session$1
            dup
            aload 0 /* this */
            invokespecial org.glassfish.grizzly.http2.Http2Session$1.<init>:(Lorg/glassfish/grizzly/http2/Http2Session;)V
         2: .line 606
            aconst_null
         3: .line 583
            invokevirtual org.glassfish.grizzly.http2.Http2SessionOutputSink.writeDownStream:(Ljava/lang/Object;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/asyncqueue/MessageCloner;)V
         4: .line 608
      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 611
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         1: .line 619
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.goingAwayLastStreamId:I
            ldc -2147483648
            if_icmpeq 2
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.goingAwayLastStreamId:I
            ldc 2147483647
            if_icmpne 16
            iload 3 /* graceful */
            ifne 16
         2: .line 620
      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;
         3: .line 621
            aload 0 /* this */
            iload 3 /* graceful */
            ifeq 4
            ldc 2147483647
            goto 6
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.http2.Http2Session
         4: aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.lastPeerStreamId:I
            ifle 5
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.lastPeerStreamId:I
            goto 6
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.http2.Http2Session
         5: iconst_0
      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
         6: putfield org.glassfish.grizzly.http2.Http2Session.goingAwayLastStreamId:I
         7: .line 622
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.goingAwayLastStreamId:I
            ldc 2147483647
            if_icmpeq 10
         8: .line 623
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.concurrentStreamsCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            ifle 10
         9: .line 624
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.pruneStreams:()V
        10: .line 627
      StackMap locals:
      StackMap stack:
            invokestatic org.glassfish.grizzly.http2.frames.GoAwayFrame.builder:()Lorg/glassfish/grizzly/http2/frames/GoAwayFrame$GoAwayFrameBuilder;
            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;
        11: .line 628
            aload 2 /* detail */
            ifnull 12
            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 13
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.http2.frames.GoAwayFrame$GoAwayFrameBuilder
        12: aconst_null
      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
        13: invokevirtual org.glassfish.grizzly.http2.frames.GoAwayFrame$GoAwayFrameBuilder.additionalDebugData:(Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http2/frames/GoAwayFrame$GoAwayFrameBuilder;
            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;
            invokevirtual org.glassfish.grizzly.http2.frames.GoAwayFrame$GoAwayFrameBuilder.build:()Lorg/glassfish/grizzly/http2/frames/GoAwayFrame;
        14: .line 627
            aload 4
            monitorexit
        15: areturn
        16: .line 631
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        17: aconst_null
            areturn
        18: .line 611
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 4
            monitorexit
        19: 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   20     0       this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   20     1  errorCode  Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            0   20     2     detail  Ljava/lang/String;
            0   20     3   graceful  Z
      Exception table:
        from    to  target  type
           1    15      18  any
          16    17      18  any
          18    19      18  any
    MethodParameters:
           Name  Flags
      errorCode  final
      detail     final
      graceful   final

  private void pruneStreams();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 637
            getstatic org.glassfish.grizzly.http2.Http2Session.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "pruneStreams()"
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
         1: .line 641
            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;
            iconst_0
            ldc 2147483647
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_1
            invokevirtual java.util.TreeMap.subMap:(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/NavigableMap;
            astore 1 /* invalidStreams */
        start local 1 // java.util.Map invalidStreams
         2: .line 642
            aload 1 /* invalidStreams */
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 9
         3: .line 645
            new java.util.ArrayList
            dup
            aload 1 /* invalidStreams */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 2 /* closedStreams */
        start local 2 // java.util.List closedStreams
         4: .line 646
            aload 2 /* closedStreams */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: org.glassfish.grizzly.http2.Http2Session java.util.Map java.util.List top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.glassfish.grizzly.http2.Http2Stream
            astore 3 /* stream */
        start local 3 // org.glassfish.grizzly.http2.Http2Stream stream
         6: .line 647
            aload 3 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Stream.closedRemotely:()V
         7: .line 648
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.deregisterStream:()V
        end local 3 // org.glassfish.grizzly.http2.Http2Stream stream
         8: .line 646
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 2 // java.util.List closedStreams
         9: .line 651
      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   10     0            this  Lorg/glassfish/grizzly/http2/Http2Session;
            2   10     1  invalidStreams  Ljava/util/Map<Ljava/lang/Integer;Lorg/glassfish/grizzly/http2/Http2Stream;>;
            4    9     2   closedStreams  Ljava/util/List<Lorg/glassfish/grizzly/http2/Http2Stream;>;
            6    8     3          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 657
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 658
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.grizzly.http2.Http2Session.pushEnabled:Z
         2: .line 659
            aload 0 /* this */
            iload 1 /* lastStreamId */
            putfield org.glassfish.grizzly.http2.Http2Session.goingAwayLastStreamId:I
         3: .line 660
            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 661
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.pruneStreams:()V
         5: .line 662
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.isServer:Z
            ifne 6
            iload 1 /* lastStreamId */
            ldc 2147483647
            if_icmpeq 9
         6: .line 663
      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;
            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;
         7: .line 664
            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;
            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;
            invokevirtual org.glassfish.grizzly.http2.frames.GoAwayFrame$GoAwayFrameBuilder.build:()Lorg/glassfish/grizzly/http2/frames/GoAwayFrame;
         8: .line 663
            invokevirtual org.glassfish.grizzly.http2.Http2Session.sendGoAwayAndClose:(Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
         9: .line 657
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 2
            monitorexit
        12: athrow
        13: .line 667
      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   14     0          this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   14     1  lastStreamId  I
      Exception table:
        from    to  target  type
           1    10      11  any
          11    12      11  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 670
            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 674
            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 678
            invokestatic org.glassfish.grizzly.http2.frames.WindowUpdateFrame.builder:()Lorg/glassfish/grizzly/http2/frames/WindowUpdateFrame$WindowUpdateFrameBuilder;
            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
            iload 2 /* delta */
            invokevirtual org.glassfish.grizzly.http2.frames.WindowUpdateFrame$WindowUpdateFrameBuilder.windowSizeIncrement:(I)Lorg/glassfish/grizzly/http2/frames/WindowUpdateFrame$WindowUpdateFrameBuilder;
            invokevirtual org.glassfish.grizzly.http2.frames.WindowUpdateFrame$WindowUpdateFrameBuilder.build:()Lorg/glassfish/grizzly/http2/frames/WindowUpdateFrame;
            astore 3 /* f */
        start local 3 // org.glassfish.grizzly.http2.frames.WindowUpdateFrame f
         1: .line 679
            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
         2: .line 680
            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
         3: .line 681
            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    4     0      this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    4     1  streamId  I
            0    4     2     delta  I
            1    4     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 684
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.isPrefaceSent:Z
            ifne 14
         1: .line 685
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         2: .line 686
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.isPrefaceSent:Z
            ifne 10
         3: .line 687
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.isServer:Z
            ifeq 6
         4: .line 688
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.sendServerPreface:()V
         5: .line 689
            goto 7
         6: .line 690
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.sendClientPreface:()V
         7: .line 693
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.http2.Http2Session.isPrefaceSent:Z
         8: .line 695
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.isServer:Z
            ifne 10
         9: .line 700
            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 685
      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 705
      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 708
            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 710
            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 714
            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$2
            dup
            aload 0 /* this */
            invokespecial org.glassfish.grizzly.http2.Http2Session$2.<init>:(Lorg/glassfish/grizzly/http2/Http2Session;)V
         3: .line 719
            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 714
      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$2
            invokeinterface org.glassfish.grizzly.Connection.write:(Ljava/lang/Object;Lorg/glassfish/grizzly/CompletionHandler;)V
         6: .line 720
            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 724
            invokestatic org.glassfish.grizzly.http.HttpRequestPacket.builder:()Lorg/glassfish/grizzly/http/HttpRequestPacket$Builder;
            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;
            ldc "*"
            invokevirtual org.glassfish.grizzly.http.HttpRequestPacket$Builder.uri:(Ljava/lang/String;)Lorg/glassfish/grizzly/http/HttpRequestPacket$Builder;
            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
            invokevirtual org.glassfish.grizzly.http.HttpRequestPacket$Builder.build:()Lorg/glassfish/grizzly/http/HttpRequestPacket;
            astore 1 /* request */
        start local 1 // org.glassfish.grizzly.http.HttpRequestPacket request
         1: .line 726
            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;
            astore 2 /* priPayload */
        start local 2 // org.glassfish.grizzly.Buffer priPayload
         2: .line 728
            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
         3: .line 729
            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
         4: .line 731
            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 */
            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
         5: .line 733
            aload 1 /* request */
            invokestatic org.glassfish.grizzly.http.HttpContent.builder:(Lorg/glassfish/grizzly/http/HttpHeader;)Lorg/glassfish/grizzly/http/HttpContent$Builder;
            aload 5 /* payload */
            invokevirtual org.glassfish.grizzly.http.HttpContent$Builder.content:(Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http/HttpContent$Builder;
            invokevirtual org.glassfish.grizzly.http.HttpContent$Builder.build:()Lorg/glassfish/grizzly/http/HttpContent;
            astore 6 /* content */
        start local 6 // org.glassfish.grizzly.http.HttpContent content
         6: .line 735
            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
         7: .line 737
            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
         8: .line 738
            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    9     0            this  Lorg/glassfish/grizzly/http2/Http2Session;
            1    9     1         request  Lorg/glassfish/grizzly/http/HttpRequestPacket;
            2    9     2      priPayload  Lorg/glassfish/grizzly/Buffer;
            3    9     3   settingsFrame  Lorg/glassfish/grizzly/http2/frames/SettingsFrame;
            4    9     4  settingsBuffer  Lorg/glassfish/grizzly/Buffer;
            5    9     5         payload  Lorg/glassfish/grizzly/Buffer;
            6    9     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 741
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.headersDecoder:Lorg/glassfish/grizzly/http2/HeadersDecoder;
            ifnonnull 2
         1: .line 742
            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 745
      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 749
            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 753
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.headersEncoder:Lorg/glassfish/grizzly/http2/HeadersEncoder;
            ifnonnull 2
         1: .line 754
            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 757
      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 776
            aload 2 /* httpHeader */
            invokevirtual org.glassfish.grizzly.http.HttpHeader.isRequest:()Z
            ifne 1
            aload 0 /* this */
            aload 2 /* httpHeader */
            checkcast org.glassfish.grizzly.http.HttpResponsePacket
            aload 6 /* capture */
            invokestatic org.glassfish.grizzly.http2.EncoderUtils.encodeResponseHeaders:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http/HttpResponsePacket;Ljava/util/Map;)Lorg/glassfish/grizzly/Buffer;
            goto 2
         1: .line 777
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* httpHeader */
            checkcast org.glassfish.grizzly.http.HttpRequestPacket
            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;
         2: .line 776
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.Buffer
            astore 7 /* compressedHeaders */
        start local 7 // org.glassfish.grizzly.Buffer compressedHeaders
         3: .line 779
            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;
            astore 8 /* headerFrames */
        start local 8 // java.util.List headerFrames
         4: .line 781
            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
         5: .line 783
            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    6     0               this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    6     1                ctx  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            0    6     2         httpHeader  Lorg/glassfish/grizzly/http/HttpHeader;
            0    6     3           streamId  I
            0    6     4             isLast  Z
            0    6     5             toList  Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
            0    6     6            capture  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            3    6     7  compressedHeaders  Lorg/glassfish/grizzly/Buffer;
            4    6     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 799
            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 800
            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 819
            aload 0 /* this */
            iload 3 /* streamId */
            iload 4 /* promisedStreamId */
         1: .line 820
            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;
            aload 5 /* toList */
         2: .line 819
            invokevirtual org.glassfish.grizzly.http2.Http2Session.bufferToPushPromiseFrames:(IILorg/glassfish/grizzly/Buffer;Ljava/util/List;)Ljava/util/List;
            astore 7 /* headerFrames */
        start local 7 // java.util.List headerFrames
         3: .line 822
            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
         4: .line 824
            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    5     0              this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    5     1               ctx  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            0    5     2       httpRequest  Lorg/glassfish/grizzly/http/HttpRequestPacket;
            0    5     3          streamId  I
            0    5     4  promisedStreamId  I
            0    5     5            toList  Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
            0    5     6           capture  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            3    5     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 837
            invokestatic org.glassfish.grizzly.http2.frames.HeadersFrame.builder:()Lorg/glassfish/grizzly/http2/frames/HeadersFrame$HeadersFrameBuilder;
            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
            iload 3 /* isEos */
            invokevirtual org.glassfish.grizzly.http2.frames.HeadersFrame$HeadersFrameBuilder.endStream:(Z)Lorg/glassfish/grizzly/http2/frames/HeadersFrame$HeadersFrameBuilder;
            astore 5 /* builder */
        start local 5 // org.glassfish.grizzly.http2.frames.HeadersFrame$HeadersFrameBuilder builder
         1: .line 839
            aload 0 /* this */
            aload 5 /* builder */
            iload 1 /* streamId */
            aload 2 /* compressedHeaders */
            aload 4 /* toList */
            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    2     0               this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    2     1           streamId  I
            0    2     2  compressedHeaders  Lorg/glassfish/grizzly/Buffer;
            0    2     3              isEos  Z
            0    2     4             toList  Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
            1    2     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 855
            invokestatic org.glassfish.grizzly.http2.frames.PushPromiseFrame.builder:()Lorg/glassfish/grizzly/http2/frames/PushPromiseFrame$PushPromiseFrameBuilder;
            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
            iload 2 /* promisedStreamId */
            invokevirtual org.glassfish.grizzly.http2.frames.PushPromiseFrame$PushPromiseFrameBuilder.promisedStreamId:(I)Lorg/glassfish/grizzly/http2/frames/PushPromiseFrame$PushPromiseFrameBuilder;
            astore 5 /* builder */
        start local 5 // org.glassfish.grizzly.http2.frames.PushPromiseFrame$PushPromiseFrameBuilder builder
         1: .line 857
            aload 0 /* this */
            aload 5 /* builder */
            iload 1 /* streamId */
            aload 3 /* compressedHeaders */
            aload 4 /* toList */
            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    2     0               this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    2     1           streamId  I
            0    2     2   promisedStreamId  I
            0    2     3  compressedHeaders  Lorg/glassfish/grizzly/Buffer;
            0    2     4             toList  Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
            1    2     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 871
            getstatic org.glassfish.grizzly.http2.Http2Session.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getDeflaterLock:()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 873
      StackMap locals:
      StackMap stack:
            aload 4 /* toList */
            ifnonnull 3
         2: .line 874
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.tmpHeaderFramesList:Ljava/util/List;
            astore 4 /* toList */
         3: .line 877
      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 6
         4: .line 878
            aload 4 /* toList */
            aload 1 /* builder */
            iconst_1
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder.endHeaders:(Z)Lorg/glassfish/grizzly/http2/frames/HeaderBlockFragment$HeaderBlockFragmentBuilder;
            aload 3 /* compressedHeaders */
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder.compressedHeaders:(Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http2/frames/HeaderBlockFragment$HeaderBlockFragmentBuilder;
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder.build:()Lorg/glassfish/grizzly/http2/frames/Http2Frame;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 880
            aload 4 /* toList */
            areturn
         6: .line 883
      StackMap locals:
      StackMap stack:
            aload 3 /* compressedHeaders */
            aload 3 /* compressedHeaders */
            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;
            astore 5 /* remainder */
        start local 5 // org.glassfish.grizzly.Buffer remainder
         7: .line 885
            aload 4 /* toList */
            aload 1 /* builder */
            iconst_0
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder.endHeaders:(Z)Lorg/glassfish/grizzly/http2/frames/HeaderBlockFragment$HeaderBlockFragmentBuilder;
            aload 3 /* compressedHeaders */
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder.compressedHeaders:(Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http2/frames/HeaderBlockFragment$HeaderBlockFragmentBuilder;
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder.build:()Lorg/glassfish/grizzly/http2/frames/Http2Frame;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 887
            getstatic org.glassfish.grizzly.http2.Http2Session.$assertionsDisabled:Z
            ifne 9
            aload 5 /* remainder */
            ifnonnull 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 890
      StackMap locals: org.glassfish.grizzly.Buffer
      StackMap stack:
            aload 5 /* remainder */
            astore 6 /* buffer */
        start local 6 // org.glassfish.grizzly.Buffer buffer
        10: .line 892
            aload 6 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.remaining:()I
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.peerMaxFramePayloadSize:I
            if_icmpgt 11
            aconst_null
            goto 12
      StackMap locals: org.glassfish.grizzly.Buffer
      StackMap stack:
        11: 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;
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.Buffer
        12: astore 5 /* remainder */
        13: .line 894
            aload 4 /* toList */
            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
            aload 5 /* remainder */
            ifnonnull 14
            iconst_1
            goto 15
      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
        14: 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
        15: 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
            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
            invokevirtual org.glassfish.grizzly.http2.frames.ContinuationFrame$ContinuationFrameBuilder.build:()Lorg/glassfish/grizzly/http2/frames/ContinuationFrame;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.glassfish.grizzly.Buffer buffer
        16: .line 895
            aload 5 /* remainder */
            ifnonnull 9
        17: .line 897
            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   18     0               this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   18     1            builder  Lorg/glassfish/grizzly/http2/frames/HeaderBlockFragment$HeaderBlockFragmentBuilder;
            0   18     2           streamId  I
            0   18     3  compressedHeaders  Lorg/glassfish/grizzly/Buffer;
            0   18     4             toList  Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
            7   18     5          remainder  Lorg/glassfish/grizzly/Buffer;
           10   16     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 908
            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 915
            aload 0 /* this */
            aload 1 /* request */
            iload 2 /* streamId */
            iload 3 /* parentStreamId */
            iload 4 /* exclusive */
            iload 5 /* priority */
            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
         1: .line 917
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionLock:Ljava/lang/Object;
            dup
            astore 7
            monitorenter
         2: .line 918
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isClosed:()Z
            ifeq 5
         3: .line 919
            aload 7
            monitorexit
         4: aconst_null
            areturn
         5: .line 922
      StackMap locals: org.glassfish.grizzly.http2.Http2Stream java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.concurrentStreamsCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getLocalMaxConcurrentStreams:()I
            if_icmplt 7
         6: .line 925
            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
         7: .line 927
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isServer:()Z
            ifeq 10
         8: .line 928
            iload 2 /* streamId */
            ifle 12
            iload 2 /* streamId */
            iconst_1
            iand
            ifne 12
         9: .line 929
            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
        10: .line 932
      StackMap locals:
      StackMap stack:
            iload 2 /* streamId */
            ifle 12
            iload 2 /* streamId */
            iconst_1
            iand
            ifeq 12
        11: .line 933
            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 937
      StackMap locals:
      StackMap stack:
            iload 2 /* streamId */
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.lastPeerStreamId:I
            if_icmpge 14
        13: .line 938
            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 941
      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
        15: .line 942
            aload 0 /* this */
            iload 2 /* streamId */
            putfield org.glassfish.grizzly.http2.Http2Session.lastPeerStreamId:I
        16: .line 917
            aload 7
            monitorexit
        17: goto 20
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: aload 7
            monitorexit
        19: athrow
        20: .line 945
      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   21     0            this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   21     1         request  Lorg/glassfish/grizzly/http/HttpRequestPacket;
            0   21     2        streamId  I
            0   21     3  parentStreamId  I
            0   21     4       exclusive  Z
            0   21     5        priority  I
            1   21     6          stream  Lorg/glassfish/grizzly/http2/Http2Stream;
      Exception table:
        from    to  target  type
           2     4      18  any
           5    17      18  any
          18    19      18  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 964
            aload 0 /* this */
            aload 1 /* request */
            iload 2 /* streamId */
            iload 3 /* parentStreamId */
            iload 4 /* exclusive */
            iload 5 /* priority */
            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
         1: .line 966
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionLock:Ljava/lang/Object;
            dup
            astore 7
            monitorenter
         2: .line 967
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isClosed:()Z
            ifeq 4
         3: .line 968
            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;
            ldc "Session is closed"
            invokespecial org.glassfish.grizzly.http2.Http2StreamException.<init>:(ILorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
         4: .line 971
      StackMap locals: org.glassfish.grizzly.http2.Http2Stream java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.concurrentStreamsCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getLocalMaxConcurrentStreams:()I
            if_icmplt 6
         5: .line 972
            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
         6: .line 975
      StackMap locals:
      StackMap stack:
            iload 3 /* parentStreamId */
            ifle 10
         7: .line 976
            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
         8: .line 977
            aload 8 /* mainStream */
            ifnonnull 10
         9: .line 978
            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;
            ldc "The parent stream does not exist"
            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
        10: .line 982
      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
        11: .line 983
            aload 0 /* this */
            iload 2 /* streamId */
            putfield org.glassfish.grizzly.http2.Http2Session.lastLocalStreamId:I
        12: .line 966
            aload 7
            monitorexit
        13: goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 7
            monitorexit
        15: athrow
        16: .line 986
      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   17     0            this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   17     1         request  Lorg/glassfish/grizzly/http/HttpRequestPacket;
            0   17     2        streamId  I
            0   17     3  parentStreamId  I
            0   17     4       exclusive  Z
            0   17     5        priority  I
            1   17     6          stream  Lorg/glassfish/grizzly/http2/Http2Stream;
            8   10     8      mainStream  Lorg/glassfish/grizzly/http2/Http2Stream;
      Exception table:
        from    to  target  type
           2    13      14  any
          14    15      14  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 1002
            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 1003
            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 1005
            aload 0 /* this */
            aload 4 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.registerUpgradeStream:(Lorg/glassfish/grizzly/http2/Http2Stream;)V
         5: .line 1007
            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 1023
            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 1025
            aload 0 /* this */
            aload 3 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.registerUpgradeStream:(Lorg/glassfish/grizzly/http2/Http2Stream;)V
         2: .line 1027
            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 1039
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.htt2SessionChain:Lorg/glassfish/grizzly/filterchain/FilterChain;
            ifnonnull 13
         1: .line 1040
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         2: .line 1041
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.htt2SessionChain:Lorg/glassfish/grizzly/filterchain/FilterChain;
            ifnonnull 9
         3: .line 1042
            iload 2 /* isUpStream */
            ifeq 7
         4: .line 1043
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getFilterChain:()Lorg/glassfish/grizzly/filterchain/FilterChain;
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getFilterIdx:()I
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getEndIdx:()I
            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;
         5: .line 1045
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getFilterChain:()Lorg/glassfish/grizzly/filterchain/FilterChain;
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getStartIdx:()I
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getFilterIdx:()I
            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;
         6: .line 1046
            goto 9
         7: .line 1047
      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;
            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
            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;
         8: .line 1049
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getFilterChain:()Lorg/glassfish/grizzly/filterchain/FilterChain;
            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
            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;
         9: .line 1040
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 3
            monitorexit
        12: athrow
        13: .line 1054
      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   14     0        this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   14     1     context  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            0   14     2  isUpStream  Z
      Exception table:
        from    to  target  type
           2    10      11  any
          11    12      11  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 1057
            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=5, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 1064
            getstatic org.glassfish.grizzly.http2.Http2Session.LOGGER:Ljava/util/logging/Logger;
            ldc "deregisterStream()"
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
         1: .line 1066
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         2: .line 1067
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.decStreamCount:()V
         3: .line 1069
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isGoingAway:()Z
            ifeq 4
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.concurrentStreamsCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            ifgt 4
            iconst_1
            goto 5
      StackMap locals: org.glassfish.grizzly.http2.Http2Session top java.lang.Object
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 1 /* isCloseSession */
        start local 1 // boolean isCloseSession
         6: .line 1070
            iload 1 /* isCloseSession */
            ifne 15
         7: .line 1071
            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 15
            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 15
         8: .line 1072
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.grizzly.http2.Http2Session.checkCount:I
         9: .line 1073
            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 3 /* streamIds */
        start local 3 // java.util.Iterator streamIds
        10: goto 14
        11: .line 1074
      StackMap locals: org.glassfish.grizzly.http2.Http2Session int java.lang.Object java.util.Iterator
      StackMap stack:
            aload 3 /* streamIds */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
        12: .line 1075
            aload 4 /* 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 14
        13: .line 1076
            aload 3 /* streamIds */
            invokeinterface java.util.Iterator.remove:()V
        end local 4 // java.util.Map$Entry entry
        14: .line 1073
      StackMap locals:
      StackMap stack:
            aload 3 /* streamIds */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 3 // java.util.Iterator streamIds
        15: .line 1066
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        16: goto 19
        end local 1 // boolean isCloseSession
      StackMap locals: org.glassfish.grizzly.http2.Http2Session top java.lang.Object
      StackMap stack: java.lang.Throwable
        17: aload 2
            monitorexit
        18: athrow
        start local 1 // boolean isCloseSession
        19: .line 1083
      StackMap locals: org.glassfish.grizzly.http2.Http2Session int
      StackMap stack:
            iload 1 /* isCloseSession */
            ifeq 24
        20: .line 1084
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionClosed:Lorg/glassfish/grizzly/impl/FutureImpl;
            ifnull 23
        21: .line 1085
            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
        22: .line 1086
            goto 24
        23: .line 1087
      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
        24: .line 1090
      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   25     0            this  Lorg/glassfish/grizzly/http2/Http2Session;
            6   17     1  isCloseSession  Z
           19   25     1  isCloseSession  Z
           10   15     3       streamIds  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/Integer;Lorg/glassfish/grizzly/http2/Http2Stream;>;>;
           12   14     4           entry  Ljava/util/Map$Entry<Ljava/lang/Integer;Lorg/glassfish/grizzly/http2/Http2Stream;>;
      Exception table:
        from    to  target  type
           2    16      17  any
          17    18      17  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 1093
            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 1097
            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;
            astore 3 /* upstreamContext */
        start local 3 // org.glassfish.grizzly.filterchain.FilterChainContext upstreamContext
         1: .line 1099
            aload 2 /* httpContent */
            invokevirtual org.glassfish.grizzly.http.HttpContent.getHttpHeader:()Lorg/glassfish/grizzly/http/HttpHeader;
            invokevirtual org.glassfish.grizzly.http.HttpHeader.getProcessingState:()Lorg/glassfish/grizzly/http/ProcessingState;
            invokevirtual org.glassfish.grizzly.http.ProcessingState.getHttpContext:()Lorg/glassfish/grizzly/http/HttpContext;
            astore 4 /* httpContext */
        start local 4 // org.glassfish.grizzly.http.HttpContext httpContext
         2: .line 1100
            aload 4 /* httpContext */
            aload 3 /* upstreamContext */
            invokevirtual org.glassfish.grizzly.http.HttpContext.attach:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Lorg/glassfish/grizzly/http/HttpContext;
            pop
         3: .line 1102
            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
         4: .line 1103
            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
         5: .line 1104
            aload 2 /* httpContent */
            invokevirtual org.glassfish.grizzly.http.HttpContent.isLast:()Z
            ifeq 7
         6: .line 1105
            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
         7: .line 1108
      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 9
         8: .line 1109
            return
         9: .line 1112
      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
        10: .line 1113
            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   11     0             this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   11     1           stream  Lorg/glassfish/grizzly/http2/Http2Stream;
            0   11     2      httpContent  Lorg/glassfish/grizzly/http/HttpContent;
            1   11     3  upstreamContext  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            2   11     4      httpContext  Lorg/glassfish/grizzly/http/HttpContext;
            5   11     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 1116
            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;
            astore 3 /* upstreamContext */
        start local 3 // org.glassfish.grizzly.filterchain.FilterChainContext upstreamContext
         1: .line 1118
            aload 2 /* message */
            invokevirtual org.glassfish.grizzly.http.HttpPacket.getHttpHeader:()Lorg/glassfish/grizzly/http/HttpHeader;
            invokevirtual org.glassfish.grizzly.http.HttpHeader.getProcessingState:()Lorg/glassfish/grizzly/http/ProcessingState;
            invokevirtual org.glassfish.grizzly.http.ProcessingState.getHttpContext:()Lorg/glassfish/grizzly/http/HttpContext;
            astore 4 /* httpContext */
        start local 4 // org.glassfish.grizzly.http.HttpContext httpContext
         2: .line 1119
            aload 4 /* httpContext */
            aload 3 /* upstreamContext */
            invokevirtual org.glassfish.grizzly.http.HttpContext.attach:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Lorg/glassfish/grizzly/http/HttpContext;
            pop
         3: .line 1121
            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
         4: .line 1122
            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    5     0             this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    5     1           stream  Lorg/glassfish/grizzly/http2/Http2Stream;
            0    5     2          message  Lorg/glassfish/grizzly/http/HttpPacket;
            1    5     3  upstreamContext  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            2    5     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 1126
            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 1127
            aload 3 /* upstreamContext */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getInternalContext:()Lorg/glassfish/grizzly/Context;
            new org.glassfish.grizzly.http2.Http2Session$3
            dup
            aload 0 /* this */
            aload 1 /* stream */
            invokespecial org.glassfish.grizzly.http2.Http2Session$3.<init>:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/Http2Stream;)V
            invokevirtual org.glassfish.grizzly.Context.addLifeCycleListener:(Lorg/glassfish/grizzly/IOEventLifeCycleListener;)V
         2: .line 1139
            aload 3 /* upstreamContext */
            aload 2 /* message */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.setMessage:(Ljava/lang/Object;)V
         3: .line 1140
            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
         4: .line 1142
            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
         5: .line 1143
            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    6     0             this  Lorg/glassfish/grizzly/http2/Http2Session;
            0    6     1           stream  Lorg/glassfish/grizzly/http2/Http2Stream;
            0    6     2          message  Lorg/glassfish/grizzly/http/HttpPacket;
            0    6     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 1147
            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 1149
            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 1150
            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 1153
      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 1154
            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 1157
      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 1159
            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 1169
            aload 0 /* this */
            aconst_null
            iload 1 /* sz */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.ackConsumedData:(Lorg/glassfish/grizzly/http2/Http2Stream;I)V
         1: .line 1170
            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 1181
            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
            istore 3 /* currentUnackedBytes */
        start local 3 // int currentUnackedBytes
         1: .line 1183
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.isPrefaceSent:Z
            ifeq 11
         2: .line 1185
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getLocalConnectionWindowSize:()I
            istore 4 /* windowSize */
        start local 4 // int windowSize
         3: .line 1188
            iload 3 /* currentUnackedBytes */
            iload 4 /* windowSize */
            iconst_3
            idiv
            if_icmple 5
            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 5
         4: .line 1190
            aload 0 /* this */
            iconst_0
            iload 3 /* currentUnackedBytes */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.sendWindowUpdate:(II)V
         5: .line 1193
      StackMap locals: int int
      StackMap stack:
            aload 1 /* stream */
            ifnull 11
         6: .line 1195
            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
            istore 5 /* streamUnackedBytes */
        start local 5 // int streamUnackedBytes
         7: .line 1196
            aload 1 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Stream.getLocalWindowSize:()I
            istore 6 /* streamWindowSize */
        start local 6 // int streamWindowSize
         8: .line 1199
            iload 5 /* streamUnackedBytes */
            ifle 11
            iload 5 /* streamUnackedBytes */
            iload 6 /* streamWindowSize */
            iconst_2
            idiv
            if_icmple 11
         9: .line 1200
            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 11
        10: .line 1202
            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
        11: .line 1206
      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   12     0                 this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   12     1               stream  Lorg/glassfish/grizzly/http2/Http2Stream;
            0   12     2                   sz  I
            1   12     3  currentUnackedBytes  I
            3   11     4           windowSize  I
            7   11     5   streamUnackedBytes  I
            8   11     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 1212
            iload 1 /* streamId */
            iconst_1
            if_icmpge 2
         1: .line 1213
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid stream ID"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1215
      StackMap locals:
      StackMap stack:
            aload 2 /* stream */
            ifnonnull 4
         3: .line 1216
            new java.lang.NullPointerException
            dup
            ldc "Attempt to register null stream"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1219
      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 1220
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.incStreamCount:()V
         6: .line 1221
            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 1224
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.sessionLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 1225
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isClosed:()Z
            ifeq 3
         2: .line 1226
            new org.glassfish.grizzly.http2.Http2StreamException
            dup
            iconst_1
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.REFUSED_STREAM:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "Session is closed"
            invokespecial org.glassfish.grizzly.http2.Http2StreamException.<init>:(ILorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
         3: .line 1229
      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
         4: .line 1230
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isServer:()Z
            ifne 6
         5: .line 1231
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.http2.Http2Session.lastLocalStreamId:I
         6: .line 1224
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 2
            monitorexit
         9: athrow
        10: .line 1234
      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   11     0    this  Lorg/glassfish/grizzly/http2/Http2Session;
            0   11     1  stream  Lorg/glassfish/grizzly/http2/Http2Stream;
      Exception table:
        from    to  target  type
           1     7       8  any
           8     9       8  any
    Exceptions:
      throws org.glassfish.grizzly.http2.Http2StreamException
    MethodParameters:
        Name  Flags
      stream  final

  private void incStreamCount();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 1237
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.concurrentStreamsCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            pop
         1: .line 1238
            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;

  private void decStreamCount();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2Session this
         0: .line 1241
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2Session.concurrentStreamsCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
            pop
         1: .line 1242
            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;

  private static java.lang.Object lambda$0(org.glassfish.grizzly.Connection);
    descriptor: (Lorg/glassfish/grizzly/Connection;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 210
            aload 0
            invokeinterface org.glassfish.grizzly.Connection.getPeerAddress:()Ljava/lang/Object;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
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$ConnectionCloseListener
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  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
  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