public abstract class org.glassfish.grizzly.http2.Http2BaseFilter extends org.glassfish.grizzly.http.HttpBaseFilter
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.glassfish.grizzly.http2.Http2BaseFilter
  super_class: org.glassfish.grizzly.http.HttpBaseFilter
{
  private static final java.util.logging.Logger LOGGER;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final java.lang.String HTTP2_CLEAR;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "h2c"

  static final java.lang.String HTTP2_PUSH_ENABLED;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "http2-push-enabled"

  static final byte[] PRI_PAYLOAD;
    descriptor: [B
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  protected static final org.glassfish.grizzly.http.TransferEncoding FIXED_LENGTH_ENCODING;
    descriptor: Lorg/glassfish/grizzly/http/TransferEncoding;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

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

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

  protected final java.util.concurrent.ExecutorService threadPool;
    descriptor: Ljava/util/concurrent/ExecutorService;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 81
            ldc Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            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.Http2BaseFilter.$assertionsDisabled:Z
         3: .line 82
            ldc Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            invokestatic org.glassfish.grizzly.Grizzly.logger:(Ljava/lang/Class;)Ljava/util/logging/Logger;
            putstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
         4: .line 94
            ldc "SM\r\n\r\n"
            getstatic org.glassfish.grizzly.utils.Charsets.ASCII_CHARSET:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            putstatic org.glassfish.grizzly.http2.Http2BaseFilter.PRI_PAYLOAD:[B
         5: .line 97
            new org.glassfish.grizzly.http.FixedLengthTransferEncoding
            dup
            invokespecial org.glassfish.grizzly.http.FixedLengthTransferEncoding.<init>:()V
         6: .line 96
            putstatic org.glassfish.grizzly.http2.Http2BaseFilter.FIXED_LENGTH_ENCODING:Lorg/glassfish/grizzly/http/TransferEncoding;
         7: .line 97
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.glassfish.grizzly.http2.Http2Configuration);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Configuration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http2.Http2Configuration configuration
         0: .line 110
            aload 0 /* this */
            invokespecial org.glassfish.grizzly.http.HttpBaseFilter.<init>:()V
         1: .line 99
            aload 0 /* this */
            new org.glassfish.grizzly.http2.Http2FrameCodec
            dup
            invokespecial org.glassfish.grizzly.http2.Http2FrameCodec.<init>:()V
            putfield org.glassfish.grizzly.http2.Http2BaseFilter.frameCodec:Lorg/glassfish/grizzly/http2/Http2FrameCodec;
         2: .line 111
            aload 0 /* this */
            aload 1 /* configuration */
            putfield org.glassfish.grizzly.http2.Http2BaseFilter.configuration:Lorg/glassfish/grizzly/http2/Http2Configuration;
         3: .line 112
            aload 1 /* configuration */
            invokevirtual org.glassfish.grizzly.http2.Http2Configuration.getThreadPoolConfig:()Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            astore 2 /* tpConfig */
        start local 2 // org.glassfish.grizzly.threadpool.ThreadPoolConfig tpConfig
         4: .line 113
            aload 0 /* this */
            aload 2 /* tpConfig */
            ifnull 6
         5: .line 114
            aload 2 /* tpConfig */
            invokestatic org.glassfish.grizzly.threadpool.GrizzlyExecutorService.createInstance:(Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;)Lorg/glassfish/grizzly/threadpool/GrizzlyExecutorService;
            goto 7
         6: .line 115
      StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.http2.Http2Configuration org.glassfish.grizzly.threadpool.ThreadPoolConfig
      StackMap stack: org.glassfish.grizzly.http2.Http2BaseFilter
            aload 1 /* configuration */
            invokevirtual org.glassfish.grizzly.http2.Http2Configuration.getExecutorService:()Ljava/util/concurrent/ExecutorService;
         7: .line 113
      StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.http2.Http2Configuration org.glassfish.grizzly.threadpool.ThreadPoolConfig
      StackMap stack: org.glassfish.grizzly.http2.Http2BaseFilter java.util.concurrent.ExecutorService
            putfield org.glassfish.grizzly.http2.Http2BaseFilter.threadPool:Ljava/util/concurrent/ExecutorService;
         8: .line 116
            return
        end local 2 // org.glassfish.grizzly.threadpool.ThreadPoolConfig tpConfig
        end local 1 // org.glassfish.grizzly.http2.Http2Configuration configuration
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0    9     1  configuration  Lorg/glassfish/grizzly/http2/Http2Configuration;
            4    9     2       tpConfig  Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
    MethodParameters:
               Name  Flags
      configuration  final

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

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

  public org.glassfish.grizzly.http2.Http2Configuration getConfiguration();
    descriptor: ()Lorg/glassfish/grizzly/http2/Http2Configuration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
         0: .line 137
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2BaseFilter.configuration:Lorg/glassfish/grizzly/http2/Http2Configuration;
            areturn
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;

  protected boolean processFrames(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http2.Http2Session, java.util.List<org.glassfish.grizzly.http2.frames.Http2Frame>);
    descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/Http2Session;Ljava/util/List;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        start local 2 // org.glassfish.grizzly.http2.Http2Session http2Session
        start local 3 // java.util.List framesList
         0: .line 144
            aload 3 /* framesList */
            ifnull 1
            aload 3 /* framesList */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 145
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 150
      StackMap locals:
      StackMap stack:
            aload 3 /* framesList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 18
      StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http2.Http2Session java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.glassfish.grizzly.http2.frames.Http2Frame
            astore 4 /* inFrame */
        start local 4 // org.glassfish.grizzly.http2.frames.Http2Frame inFrame
         4: .line 151
            getstatic org.glassfish.grizzly.http2.NetLogger$Context.RX:Lorg/glassfish/grizzly/http2/NetLogger$Context;
            aload 2 /* http2Session */
            aload 4 /* inFrame */
            invokestatic org.glassfish.grizzly.http2.NetLogger.log:(Lorg/glassfish/grizzly/http2/NetLogger$Context;Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
         5: .line 153
            aload 0 /* this */
            aload 2 /* http2Session */
            aload 1 /* ctx */
            aload 4 /* inFrame */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processInFrame:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
         6: .line 154
            goto 18
      StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http2.Http2Session java.util.List org.glassfish.grizzly.http2.frames.Http2Frame java.util.Iterator
      StackMap stack: org.glassfish.grizzly.http2.Http2StreamException
         7: astore 6 /* e */
        start local 6 // org.glassfish.grizzly.http2.Http2StreamException e
         8: .line 155
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.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 12
         9: .line 156
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Http2StreamException occurred on connection="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 157
            aload 1 /* ctx */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " during Http2Frame processing"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* e */
        11: .line 156
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        12: .line 160
      StackMap locals: org.glassfish.grizzly.http2.Http2StreamException
      StackMap stack:
            aload 6 /* e */
            invokevirtual org.glassfish.grizzly.http2.Http2StreamException.getStreamId:()I
            istore 7 /* streamId */
        start local 7 // int streamId
        13: .line 162
            iload 7 /* streamId */
            ifne 15
        14: .line 163
            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 166
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ctx */
            aload 2 /* http2Session */
        16: .line 167
            iload 7 /* streamId */
            aload 6 /* e */
            invokevirtual org.glassfish.grizzly.http2.Http2StreamException.getErrorCode:()Lorg/glassfish/grizzly/http2/frames/ErrorCode;
        17: .line 166
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.sendRstStream:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/Http2Session;ILorg/glassfish/grizzly/http2/frames/ErrorCode;)V
        end local 7 // int streamId
        end local 6 // org.glassfish.grizzly.http2.Http2StreamException e
        end local 4 // org.glassfish.grizzly.http2.frames.Http2Frame inFrame
        18: .line 150
      StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http2.Http2Session java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        19: .line 170
            goto 23
      StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http2.Http2Session java.util.List
      StackMap stack: java.lang.Throwable
        20: astore 8
        21: .line 172
            aload 3 /* framesList */
            invokeinterface java.util.List.clear:()V
        22: .line 173
            aload 8
            athrow
        23: .line 172
      StackMap locals:
      StackMap stack:
            aload 3 /* framesList */
            invokeinterface java.util.List.clear:()V
        24: .line 176
            aload 2 /* http2Session */
            getfield org.glassfish.grizzly.http2.Http2Session.streamsToFlushInput:Ljava/util/List;
        25: .line 175
            astore 4 /* streamsToFlushInput */
        start local 4 // java.util.List streamsToFlushInput
        26: .line 177
            aload 4 /* streamsToFlushInput */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 29
      StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http2.Http2Session java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        27: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.glassfish.grizzly.http2.Http2Stream
            astore 5 /* streamsToFlush */
        start local 5 // org.glassfish.grizzly.http2.Http2Stream streamsToFlush
        28: .line 178
            aload 5 /* streamsToFlush */
            invokevirtual org.glassfish.grizzly.http2.Http2Stream.flushInputData:()V
        end local 5 // org.glassfish.grizzly.http2.Http2Stream streamsToFlush
        29: .line 177
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 27
        30: .line 180
            aload 4 /* streamsToFlushInput */
            invokeinterface java.util.List.clear:()V
        31: .line 182
            iconst_1
            ireturn
        end local 4 // java.util.List streamsToFlushInput
        32: .line 183
      StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http2.Http2Session java.util.List
      StackMap stack: org.glassfish.grizzly.http2.Http2SessionException
            astore 4 /* e */
        start local 4 // org.glassfish.grizzly.http2.Http2SessionException e
        33: .line 184
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.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 37
        34: .line 185
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Http2SessionException occurred on connection="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        35: .line 186
            aload 1 /* ctx */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " during Http2Frame processing"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* e */
        36: .line 185
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        37: .line 188
      StackMap locals: org.glassfish.grizzly.http2.Http2SessionException
      StackMap stack:
            aload 2 /* http2Session */
            aload 4 /* e */
            invokevirtual org.glassfish.grizzly.http2.Http2SessionException.getErrorCode:()Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            aload 4 /* e */
            invokevirtual org.glassfish.grizzly.http2.Http2SessionException.getMessage:()Ljava/lang/String;
            invokevirtual org.glassfish.grizzly.http2.Http2Session.terminate:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
        end local 4 // org.glassfish.grizzly.http2.Http2SessionException e
        38: goto 45
        39: .line 189
      StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http2.Http2Session java.util.List
      StackMap stack: java.io.IOException
            astore 4 /* e */
        start local 4 // java.io.IOException e
        40: .line 190
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.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 44
        41: .line 191
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "IOException occurred on connection="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        42: .line 192
            aload 1 /* ctx */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " during Http2Frame processing"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* e */
        43: .line 191
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        44: .line 194
      StackMap locals: java.io.IOException
      StackMap stack:
            aload 2 /* http2Session */
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.INTERNAL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            aload 4 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual org.glassfish.grizzly.http2.Http2Session.terminate:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
        end local 4 // java.io.IOException e
        45: .line 197
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.util.List framesList
        end local 2 // org.glassfish.grizzly.http2.Http2Session http2Session
        end local 1 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   46     0                 this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0   46     1                  ctx  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            0   46     2         http2Session  Lorg/glassfish/grizzly/http2/Http2Session;
            0   46     3           framesList  Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
            4   18     4              inFrame  Lorg/glassfish/grizzly/http2/frames/Http2Frame;
            8   18     6                    e  Lorg/glassfish/grizzly/http2/Http2StreamException;
           13   18     7             streamId  I
           26   32     4  streamsToFlushInput  Ljava/util/List<Lorg/glassfish/grizzly/http2/Http2Stream;>;
           28   29     5       streamsToFlush  Lorg/glassfish/grizzly/http2/Http2Stream;
           33   38     4                    e  Lorg/glassfish/grizzly/http2/Http2SessionException;
           40   45     4                    e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           5     6       7  Class org.glassfish.grizzly.http2.Http2StreamException
           2    20      20  any
           2    31      32  Class org.glassfish.grizzly.http2.Http2SessionException
           2    31      39  Class java.io.IOException
    Signature: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/Http2Session;Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;)Z
    MethodParameters:
              Name  Flags
      ctx           final
      http2Session  final
      framesList    final

  protected boolean checkRequestHeadersOnUpgrade(org.glassfish.grizzly.http.HttpRequestPacket);
    descriptor: (Lorg/glassfish/grizzly/http/HttpRequestPacket;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http.HttpRequestPacket httpRequest
         0: .line 203
            aload 1 /* httpRequest */
            invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.isUpgrade:()Z
            ifne 4
         1: .line 204
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 3
         2: .line 205
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
            ldc "checkRequestHeadersOnUpgrade: failed no upgrade"
            invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
         3: .line 207
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 212
      StackMap locals:
      StackMap stack:
            aload 1 /* httpRequest */
            invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getHeaders:()Lorg/glassfish/grizzly/http/util/MimeHeaders;
            getstatic org.glassfish.grizzly.http.util.Header.Connection:Lorg/glassfish/grizzly/http/util/Header;
            invokevirtual org.glassfish.grizzly.http.util.MimeHeaders.getValue:(Lorg/glassfish/grizzly/http/util/Header;)Lorg/glassfish/grizzly/http/util/DataChunk;
         5: .line 211
            astore 2 /* connectionHeaderDC */
        start local 2 // org.glassfish.grizzly.http.util.DataChunk connectionHeaderDC
         6: .line 214
            aload 2 /* connectionHeaderDC */
            ifnonnull 10
         7: .line 215
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 9
         8: .line 216
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
            ldc "checkRequestHeadersOnUpgrade: failed no connection"
            invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
         9: .line 218
      StackMap locals: org.glassfish.grizzly.http.util.DataChunk
      StackMap stack:
            iconst_0
            ireturn
        10: .line 221
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* upgradeFound */
        start local 3 // boolean upgradeFound
        11: .line 222
            iconst_0
            istore 4 /* http2SettingsFound */
        start local 4 // boolean http2SettingsFound
        12: .line 224
            iconst_0
            istore 5 /* pos */
        start local 5 // int pos
        13: .line 225
            aload 2 /* connectionHeaderDC */
            invokevirtual org.glassfish.grizzly.http.util.DataChunk.getLength:()I
            istore 6 /* len */
        start local 6 // int len
        14: .line 226
            goto 27
        15: .line 227
      StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.http.HttpRequestPacket org.glassfish.grizzly.http.util.DataChunk int int int int
      StackMap stack:
            aload 2 /* connectionHeaderDC */
            ldc ","
            iload 5 /* pos */
            invokevirtual org.glassfish.grizzly.http.util.DataChunk.indexOf:(Ljava/lang/String;I)I
            istore 7 /* comma */
        start local 7 // int comma
        16: .line 228
            iload 7 /* comma */
            iconst_m1
            if_icmpeq 17
            iload 7 /* comma */
            goto 18
      StackMap locals: int
      StackMap stack:
        17: iload 6 /* len */
      StackMap locals:
      StackMap stack: int
        18: istore 8 /* valueEnd */
        start local 8 // int valueEnd
        19: .line 230
            aload 2 /* connectionHeaderDC */
            iload 5 /* pos */
            iload 8 /* valueEnd */
            invokevirtual org.glassfish.grizzly.http.util.DataChunk.toString:(II)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 9 /* value */
        start local 9 // java.lang.String value
        20: .line 232
            iload 3 /* upgradeFound */
            ifne 21
            ldc "Upgrade"
            aload 9 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
            iconst_0
            goto 22
      StackMap locals: int java.lang.String
      StackMap stack:
        21: iconst_1
      StackMap locals:
      StackMap stack: int
        22: istore 3 /* upgradeFound */
        23: .line 233
            iload 4 /* http2SettingsFound */
            ifne 24
            ldc "HTTP2-Settings"
            aload 9 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 24
            iconst_0
            goto 25
      StackMap locals:
      StackMap stack:
        24: iconst_1
      StackMap locals:
      StackMap stack: int
        25: istore 4 /* http2SettingsFound */
        26: .line 235
            iload 8 /* valueEnd */
            iconst_1
            iadd
            istore 5 /* pos */
        end local 9 // java.lang.String value
        end local 8 // int valueEnd
        end local 7 // int comma
        27: .line 226
      StackMap locals:
      StackMap stack:
            iload 5 /* pos */
            iload 6 /* len */
            if_icmplt 15
        28: .line 238
            iload 3 /* upgradeFound */
            ifeq 29
            iload 4 /* http2SettingsFound */
            ifne 32
        29: .line 239
      StackMap locals:
      StackMap stack:
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 31
        30: .line 240
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            ldc "checkRequestHeadersOnUpgrade: failed incorrect connection: {0}"
            aload 2 /* connectionHeaderDC */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
        31: .line 242
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        32: .line 247
      StackMap locals:
      StackMap stack:
            aload 1 /* httpRequest */
            invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getHeaders:()Lorg/glassfish/grizzly/http/util/MimeHeaders;
            getstatic org.glassfish.grizzly.http.util.Header.HTTP2Settings:Lorg/glassfish/grizzly/http/util/Header;
            invokevirtual org.glassfish.grizzly.http.util.MimeHeaders.contains:(Lorg/glassfish/grizzly/http/util/Header;)Z
            ifne 36
        33: .line 248
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 35
        34: .line 249
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
            ldc "checkRequestHeadersOnUpgrade: failed no settings"
            invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
        35: .line 251
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        36: .line 254
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // int len
        end local 5 // int pos
        end local 4 // boolean http2SettingsFound
        end local 3 // boolean upgradeFound
        end local 2 // org.glassfish.grizzly.http.util.DataChunk connectionHeaderDC
        end local 1 // org.glassfish.grizzly.http.HttpRequestPacket httpRequest
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   37     0                this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0   37     1         httpRequest  Lorg/glassfish/grizzly/http/HttpRequestPacket;
            6   37     2  connectionHeaderDC  Lorg/glassfish/grizzly/http/util/DataChunk;
           11   37     3        upgradeFound  Z
           12   37     4  http2SettingsFound  Z
           13   37     5                 pos  I
           14   37     6                 len  I
           16   27     7               comma  I
           19   27     8            valueEnd  I
           20   27     9               value  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      httpRequest  final

  protected boolean checkResponseHeadersOnUpgrade(org.glassfish.grizzly.http.HttpResponsePacket);
    descriptor: (Lorg/glassfish/grizzly/http/HttpResponsePacket;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http.HttpResponsePacket httpResponse
         0: .line 260
            aload 1 /* httpResponse */
            invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.getStatus:()I
            bipush 101
            if_icmpeq 2
         1: .line 262
            iconst_0
            ireturn
         2: .line 265
      StackMap locals:
      StackMap stack:
            aload 1 /* httpResponse */
            invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.isUpgrade:()Z
            ifne 4
         3: .line 267
            iconst_0
            ireturn
         4: .line 272
      StackMap locals:
      StackMap stack:
            aload 1 /* httpResponse */
            invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.getHeaders:()Lorg/glassfish/grizzly/http/util/MimeHeaders;
            getstatic org.glassfish.grizzly.http.util.Header.Connection:Lorg/glassfish/grizzly/http/util/Header;
            invokevirtual org.glassfish.grizzly.http.util.MimeHeaders.getValue:(Lorg/glassfish/grizzly/http/util/Header;)Lorg/glassfish/grizzly/http/util/DataChunk;
         5: .line 271
            astore 2 /* connectionHeaderDC */
        start local 2 // org.glassfish.grizzly.http.util.DataChunk connectionHeaderDC
         6: .line 274
            aload 2 /* connectionHeaderDC */
            ifnull 8
            aload 2 /* connectionHeaderDC */
            invokevirtual org.glassfish.grizzly.http.util.DataChunk.isNull:()Z
            ifne 8
         7: .line 275
            aload 2 /* connectionHeaderDC */
            getstatic org.glassfish.grizzly.http.util.Header.Upgrade:Lorg/glassfish/grizzly/http/util/Header;
            invokevirtual org.glassfish.grizzly.http.util.Header.getBytes:()[B
            invokevirtual org.glassfish.grizzly.http.util.DataChunk.equals:([B)Z
            ifne 9
         8: .line 274
      StackMap locals: org.glassfish.grizzly.http.util.DataChunk
      StackMap stack:
            iconst_0
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_1
      StackMap locals:
      StackMap stack: int
        10: ireturn
        end local 2 // org.glassfish.grizzly.http.util.DataChunk connectionHeaderDC
        end local 1 // org.glassfish.grizzly.http.HttpResponsePacket httpResponse
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   11     0                this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0   11     1        httpResponse  Lorg/glassfish/grizzly/http/HttpResponsePacket;
            6   11     2  connectionHeaderDC  Lorg/glassfish/grizzly/http/util/DataChunk;
    MethodParameters:
              Name  Flags
      httpResponse  final

  protected org.glassfish.grizzly.http2.frames.SettingsFrame getHttp2UpgradeSettings(org.glassfish.grizzly.http.HttpRequestPacket);
    descriptor: (Lorg/glassfish/grizzly/http/HttpRequestPacket;)Lorg/glassfish/grizzly/http2/frames/SettingsFrame;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http.HttpRequestPacket httpRequest
         0: .line 283
            aload 1 /* httpRequest */
            invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getHeaders:()Lorg/glassfish/grizzly/http/util/MimeHeaders;
            getstatic org.glassfish.grizzly.http.util.Header.HTTP2Settings:Lorg/glassfish/grizzly/http/util/Header;
            invokevirtual org.glassfish.grizzly.http.util.MimeHeaders.getValue:(Lorg/glassfish/grizzly/http/util/Header;)Lorg/glassfish/grizzly/http/util/DataChunk;
         1: .line 282
            astore 2 /* http2Settings */
        start local 2 // org.glassfish.grizzly.http.util.DataChunk http2Settings
         2: .line 285
            aload 2 /* http2Settings */
            ifnull 4
         3: .line 286
            aload 2 /* http2Settings */
            invokestatic org.glassfish.grizzly.http2.frames.SettingsFrame.fromBase64Uri:(Lorg/glassfish/grizzly/http/util/DataChunk;)Lorg/glassfish/grizzly/http2/frames/SettingsFrame;
            goto 5
         4: .line 287
      StackMap locals: org.glassfish.grizzly.http.util.DataChunk
      StackMap stack:
            aconst_null
         5: .line 285
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.http2.frames.SettingsFrame
            areturn
        end local 2 // org.glassfish.grizzly.http.util.DataChunk http2Settings
        end local 1 // org.glassfish.grizzly.http.HttpRequestPacket httpRequest
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0    6     1    httpRequest  Lorg/glassfish/grizzly/http/HttpRequestPacket;
            2    6     2  http2Settings  Lorg/glassfish/grizzly/http/util/DataChunk;
    MethodParameters:
             Name  Flags
      httpRequest  final

  protected boolean isHttp2UpgradingVersion(org.glassfish.grizzly.http.HttpHeader);
    descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http.HttpHeader httpHeader
         0: .line 292
            aload 1 /* httpHeader */
            invokevirtual org.glassfish.grizzly.http.HttpHeader.getUpgradeDC:()Lorg/glassfish/grizzly/http/util/DataChunk;
            astore 2 /* upgradeDC */
        start local 2 // org.glassfish.grizzly.http.util.DataChunk upgradeDC
         1: .line 294
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.$assertionsDisabled:Z
            ifne 3
            aload 2 /* upgradeDC */
            ifnull 2
            aload 2 /* upgradeDC */
            invokevirtual org.glassfish.grizzly.http.util.DataChunk.isNull:()Z
            ifeq 3
      StackMap locals: org.glassfish.grizzly.http.util.DataChunk
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 297
      StackMap locals:
      StackMap stack:
            aload 2 /* upgradeDC */
            ldc "h2c"
            invokevirtual org.glassfish.grizzly.http.util.DataChunk.equals:(Ljava/lang/String;)Z
            ireturn
        end local 2 // org.glassfish.grizzly.http.util.DataChunk upgradeDC
        end local 1 // org.glassfish.grizzly.http.HttpHeader httpHeader
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0    4     1  httpHeader  Lorg/glassfish/grizzly/http/HttpHeader;
            1    4     2   upgradeDC  Lorg/glassfish/grizzly/http/util/DataChunk;
    MethodParameters:
            Name  Flags
      httpHeader  final

  protected boolean onHttpPacketParsed(org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.filterchain.FilterChainContext);
    descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http.HttpHeader httpHeader
        start local 2 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
         0: .line 308
            iconst_0
            ireturn
        end local 2 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        end local 1 // org.glassfish.grizzly.http.HttpHeader httpHeader
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0    1     1  httpHeader  Lorg/glassfish/grizzly/http/HttpHeader;
            0    1     2         ctx  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
    MethodParameters:
            Name  Flags
      httpHeader  
      ctx         

  protected boolean onHttpHeaderParsed(org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.Buffer, org.glassfish.grizzly.filterchain.FilterChainContext);
    descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http.HttpHeader httpHeader
        start local 2 // org.glassfish.grizzly.Buffer buffer
        start local 3 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
         0: .line 319
            iconst_0
            ireturn
        end local 3 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        end local 2 // org.glassfish.grizzly.Buffer buffer
        end local 1 // org.glassfish.grizzly.http.HttpHeader httpHeader
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0    1     1  httpHeader  Lorg/glassfish/grizzly/http/HttpHeader;
            0    1     2      buffer  Lorg/glassfish/grizzly/Buffer;
            0    1     3         ctx  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
    MethodParameters:
            Name  Flags
      httpHeader  
      buffer      
      ctx         

  protected void onInitialLineParsed(org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.filterchain.FilterChainContext);
    descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http.HttpHeader httpHeader
        start local 2 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
         0: .line 329
            return
        end local 2 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        end local 1 // org.glassfish.grizzly.http.HttpHeader httpHeader
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0    1     1  httpHeader  Lorg/glassfish/grizzly/http/HttpHeader;
            0    1     2         ctx  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
    MethodParameters:
            Name  Flags
      httpHeader  final
      ctx         final

  protected void onInitialLineEncoded(org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.filterchain.FilterChainContext);
    descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http.HttpHeader httpHeader
        start local 2 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
         0: .line 338
            return
        end local 2 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        end local 1 // org.glassfish.grizzly.http.HttpHeader httpHeader
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0    1     1  httpHeader  Lorg/glassfish/grizzly/http/HttpHeader;
            0    1     2         ctx  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
    MethodParameters:
            Name  Flags
      httpHeader  final
      ctx         final

  protected void onHttpHeadersParsed(org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.filterchain.FilterChainContext);
    descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http.HttpHeader httpHeader
        start local 2 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
         0: .line 347
            return
        end local 2 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        end local 1 // org.glassfish.grizzly.http.HttpHeader httpHeader
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0    1     1  httpHeader  Lorg/glassfish/grizzly/http/HttpHeader;
            0    1     2         ctx  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
    MethodParameters:
            Name  Flags
      httpHeader  final
      ctx         final

  protected void onHttpHeadersEncoded(org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.filterchain.FilterChainContext);
    descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http.HttpHeader httpHeader
        start local 2 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
         0: .line 356
            return
        end local 2 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        end local 1 // org.glassfish.grizzly.http.HttpHeader httpHeader
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0    1     1  httpHeader  Lorg/glassfish/grizzly/http/HttpHeader;
            0    1     2         ctx  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
    MethodParameters:
            Name  Flags
      httpHeader  final
      ctx         final

  protected void onHttpContentParsed(org.glassfish.grizzly.http.HttpContent, org.glassfish.grizzly.filterchain.FilterChainContext);
    descriptor: (Lorg/glassfish/grizzly/http/HttpContent;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http.HttpContent content
        start local 2 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
         0: .line 365
            return
        end local 2 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        end local 1 // org.glassfish.grizzly.http.HttpContent content
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0    1     1  content  Lorg/glassfish/grizzly/http/HttpContent;
            0    1     2      ctx  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
    MethodParameters:
         Name  Flags
      content  final
      ctx      final

  protected void onHttpContentEncoded(org.glassfish.grizzly.http.HttpContent, org.glassfish.grizzly.filterchain.FilterChainContext);
    descriptor: (Lorg/glassfish/grizzly/http/HttpContent;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http.HttpContent content
        start local 2 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
         0: .line 373
            return
        end local 2 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        end local 1 // org.glassfish.grizzly.http.HttpContent content
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0    1     1  content  Lorg/glassfish/grizzly/http/HttpContent;
            0    1     2      ctx  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
    MethodParameters:
         Name  Flags
      content  final
      ctx      final

  protected void onHttpHeaderError(org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.filterchain.FilterChainContext, java.lang.Throwable);
    descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Ljava/lang/Throwable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=4, args_size=4
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http.HttpHeader httpHeader
        start local 2 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        start local 3 // java.lang.Throwable t
         0: .line 383
            return
        end local 3 // java.lang.Throwable t
        end local 2 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        end local 1 // org.glassfish.grizzly.http.HttpHeader httpHeader
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0    1     1  httpHeader  Lorg/glassfish/grizzly/http/HttpHeader;
            0    1     2         ctx  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            0    1     3           t  Ljava/lang/Throwable;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      httpHeader  final
      ctx         final
      t           final

  protected void onHttpContentError(org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.filterchain.FilterChainContext, java.lang.Throwable);
    descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Ljava/lang/Throwable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=4, args_size=4
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http.HttpHeader httpHeader
        start local 2 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        start local 3 // java.lang.Throwable t
         0: .line 392
            return
        end local 3 // java.lang.Throwable t
        end local 2 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        end local 1 // org.glassfish.grizzly.http.HttpHeader httpHeader
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0    1     1  httpHeader  Lorg/glassfish/grizzly/http/HttpHeader;
            0    1     2         ctx  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            0    1     3           t  Ljava/lang/Throwable;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      httpHeader  
      ctx         
      t           

  private void processInFrame(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http2.frames.Http2Frame);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        start local 2 // org.glassfish.grizzly.filterchain.FilterChainContext context
        start local 3 // org.glassfish.grizzly.http2.frames.Http2Frame frame
         0: .line 403
            aload 1 /* http2Session */
            aload 3 /* frame */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.checkFrameSequenceSemantics:(Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
         1: .line 405
            aload 3 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getType:()I
            tableswitch { // 0 - 9
                    0: 2
                    1: 6
                    2: 4
                    3: 12
                    4: 8
                    5: 6
                    6: 10
                    7: 14
                    8: 16
                    9: 6
              default: 18
          }
         2: .line 407
      StackMap locals:
      StackMap stack:
            aload 1 /* http2Session */
            aload 2 /* context */
            aload 3 /* frame */
            invokestatic org.glassfish.grizzly.http2.Http2BaseFilter.processDataFrame:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
         3: .line 408
            goto 24
         4: .line 411
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* frame */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processPriorityFrame:(Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
         5: .line 412
            goto 24
         6: .line 417
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* http2Session */
            aload 2 /* context */
            aload 3 /* frame */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processHeadersFrame:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
         7: .line 418
            goto 24
         8: .line 421
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* http2Session */
            aload 2 /* context */
            aload 3 /* frame */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processSettingsFrame:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
         9: .line 422
            goto 24
        10: .line 425
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* http2Session */
            aload 3 /* frame */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processPingFrame:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
        11: .line 426
            goto 24
        12: .line 429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* http2Session */
            aload 3 /* frame */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processRstStreamFrame:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
        13: .line 430
            goto 24
        14: .line 433
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* http2Session */
            aload 3 /* frame */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processGoAwayFrame:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
        15: .line 434
            goto 24
        16: .line 437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* http2Session */
            aload 3 /* frame */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processWindowUpdateFrame:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
        17: .line 438
            goto 24
        18: .line 441
      StackMap locals:
      StackMap stack:
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            ldc "Unknown or unhandled frame [type={0} flags={1} length={2} streamId={3}]"
        19: .line 442
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getType:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
        20: .line 443
            aload 3 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getFlags:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
        21: .line 444
            aload 3 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getLength:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
        22: .line 445
            aload 3 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getStreamId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        23: .line 441
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
        24: .line 449
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.glassfish.grizzly.http2.frames.Http2Frame frame
        end local 2 // org.glassfish.grizzly.filterchain.FilterChainContext context
        end local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0          this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0   25     1  http2Session  Lorg/glassfish/grizzly/http2/Http2Session;
            0   25     2       context  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            0   25     3         frame  Lorg/glassfish/grizzly/http2/frames/Http2Frame;
    Exceptions:
      throws org.glassfish.grizzly.http2.Http2StreamException, org.glassfish.grizzly.http2.Http2SessionException, java.io.IOException
    MethodParameters:
              Name  Flags
      http2Session  final
      context       final
      frame         final

  private void processPriorityFrame(org.glassfish.grizzly.http2.frames.Http2Frame);
    descriptor: (Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http2.frames.Http2Frame frame
         0: .line 453
            aload 1 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getStreamId:()I
            istore 2 /* streamId */
        start local 2 // int streamId
         1: .line 455
            iload 2 /* streamId */
            ifne 3
         2: .line 456
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "PRIORITY frame on stream ID zero."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
         3: .line 458
      StackMap locals: int
      StackMap stack:
            aload 1 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getLength:()I
            iconst_5
            if_icmpeq 5
         4: .line 459
            new org.glassfish.grizzly.http2.Http2StreamException
            dup
            iload 2 /* streamId */
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.FRAME_SIZE_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            invokespecial org.glassfish.grizzly.http2.Http2StreamException.<init>:(ILorg/glassfish/grizzly/http2/frames/ErrorCode;)V
            athrow
         5: .line 461
      StackMap locals:
      StackMap stack:
            iload 2 /* streamId */
            aload 1 /* frame */
            checkcast org.glassfish.grizzly.http2.frames.PriorityFrame
            invokevirtual org.glassfish.grizzly.http2.frames.PriorityFrame.getStreamDependency:()I
            if_icmpne 10
         6: .line 462
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "PRIORITY frame dependent on itself."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
         7: .line 464
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
         8: .line 465
            aload 1 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.recycle:()V
         9: .line 466
            aload 3
            athrow
        10: .line 465
      StackMap locals:
      StackMap stack:
            aload 1 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.recycle:()V
        11: .line 467
            return
        end local 2 // int streamId
        end local 1 // org.glassfish.grizzly.http2.frames.Http2Frame frame
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0   12     1     frame  Lorg/glassfish/grizzly/http2/frames/Http2Frame;
            1   12     2  streamId  I
      Exception table:
        from    to  target  type
           1     7       7  any
    Exceptions:
      throws org.glassfish.grizzly.http2.Http2SessionException, org.glassfish.grizzly.http2.Http2StreamException
    MethodParameters:
       Name  Flags
      frame  final

  private void processWindowUpdateFrame(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.http2.frames.Http2Frame);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        start local 2 // org.glassfish.grizzly.http2.frames.Http2Frame frame
         0: .line 472
            aload 2 /* frame */
            checkcast org.glassfish.grizzly.http2.frames.WindowUpdateFrame
            astore 3 /* updateFrame */
        start local 3 // org.glassfish.grizzly.http2.frames.WindowUpdateFrame updateFrame
         1: .line 473
            aload 3 /* updateFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.WindowUpdateFrame.getStreamId:()I
            istore 4 /* streamId */
        start local 4 // int streamId
         2: .line 474
            aload 3 /* updateFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.WindowUpdateFrame.getWindowSizeIncrement:()I
            istore 5 /* delta */
        start local 5 // int delta
         3: .line 475
            aload 3 /* updateFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.WindowUpdateFrame.recycle:()V
         4: .line 478
            iload 4 /* streamId */
            ifne 9
         5: .line 479
            iload 5 /* delta */
            ifne 7
         6: .line 480
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "Illegal WINDOW_UPDATE with a delta of 0."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
         7: .line 482
      StackMap locals: org.glassfish.grizzly.http2.frames.WindowUpdateFrame int int
      StackMap stack:
            aload 1 /* http2Session */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getOutputSink:()Lorg/glassfish/grizzly/http2/Http2SessionOutputSink;
            iload 5 /* delta */
            invokevirtual org.glassfish.grizzly.http2.Http2SessionOutputSink.onPeerWindowUpdate:(I)V
         8: .line 483
            goto 16
         9: .line 484
      StackMap locals:
      StackMap stack:
            iload 5 /* delta */
            ifne 11
        10: .line 485
            new org.glassfish.grizzly.http2.Http2StreamException
            dup
            iload 4 /* streamId */
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "Illegal WINDOW_UPDATE with a delta of 0."
            invokespecial org.glassfish.grizzly.http2.Http2StreamException.<init>:(ILorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
        11: .line 487
      StackMap locals:
      StackMap stack:
            aload 1 /* http2Session */
            iload 4 /* streamId */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getStream:(I)Lorg/glassfish/grizzly/http2/Http2Stream;
            astore 6 /* stream */
        start local 6 // org.glassfish.grizzly.http2.Http2Stream stream
        12: .line 490
            aload 6 /* stream */
            ifnull 15
        13: .line 491
            aload 6 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Stream.getOutputSink:()Lorg/glassfish/grizzly/http2/StreamOutputSink;
            iload 5 /* delta */
            invokeinterface org.glassfish.grizzly.http2.StreamOutputSink.onPeerWindowUpdate:(I)V
        14: .line 492
            goto 16
        15: .line 493
      StackMap locals: org.glassfish.grizzly.http2.Http2Stream
      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
        end local 6 // org.glassfish.grizzly.http2.Http2Stream stream
        16: .line 496
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int delta
        end local 4 // int streamId
        end local 3 // org.glassfish.grizzly.http2.frames.WindowUpdateFrame updateFrame
        end local 2 // org.glassfish.grizzly.http2.frames.Http2Frame frame
        end local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0   17     1  http2Session  Lorg/glassfish/grizzly/http2/Http2Session;
            0   17     2         frame  Lorg/glassfish/grizzly/http2/frames/Http2Frame;
            1   17     3   updateFrame  Lorg/glassfish/grizzly/http2/frames/WindowUpdateFrame;
            2   17     4      streamId  I
            3   17     5         delta  I
           12   16     6        stream  Lorg/glassfish/grizzly/http2/Http2Stream;
    Exceptions:
      throws org.glassfish.grizzly.http2.Http2StreamException, org.glassfish.grizzly.http2.Http2SessionException
    MethodParameters:
              Name  Flags
      http2Session  final
      frame         final

  private void processGoAwayFrame(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.http2.frames.Http2Frame);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        start local 2 // org.glassfish.grizzly.http2.frames.Http2Frame frame
         0: .line 502
            aload 2 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getStreamId:()I
            ifeq 2
         1: .line 503
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "GOAWAY frame for non-zero stream ID."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
         2: .line 506
      StackMap locals:
      StackMap stack:
            aload 1 /* http2Session */
            aload 2 /* frame */
            checkcast org.glassfish.grizzly.http2.frames.GoAwayFrame
            invokevirtual org.glassfish.grizzly.http2.frames.GoAwayFrame.getLastStreamId:()I
            invokevirtual org.glassfish.grizzly.http2.Http2Session.setGoAwayByPeer:(I)V
         3: .line 507
            aload 2 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.recycle:()V
         4: .line 508
            return
        end local 2 // org.glassfish.grizzly.http2.frames.Http2Frame frame
        end local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0    5     1  http2Session  Lorg/glassfish/grizzly/http2/Http2Session;
            0    5     2         frame  Lorg/glassfish/grizzly/http2/frames/Http2Frame;
    Exceptions:
      throws org.glassfish.grizzly.http2.Http2SessionException
    MethodParameters:
              Name  Flags
      http2Session  final
      frame         final

  private void processSettingsFrame(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http2.frames.Http2Frame);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        start local 2 // org.glassfish.grizzly.filterchain.FilterChainContext context
        start local 3 // org.glassfish.grizzly.http2.frames.Http2Frame frame
         0: .line 514
            aload 3 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getStreamId:()I
            ifeq 2
         1: .line 515
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "SETTINGS frame with non-zero stream ID."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
         2: .line 518
      StackMap locals:
      StackMap stack:
            aload 3 /* frame */
            checkcast org.glassfish.grizzly.http2.frames.SettingsFrame
            astore 4 /* settingsFrame */
        start local 4 // org.glassfish.grizzly.http2.frames.SettingsFrame settingsFrame
         3: .line 521
            aload 4 /* settingsFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame.isAck:()Z
            ifeq 8
         4: .line 522
            aload 4 /* settingsFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame.getLength:()I
            ifeq 6
         5: .line 523
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.FRAME_SIZE_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "SETTINGS frame ack with a non-zero length."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
         6: .line 534
      StackMap locals: org.glassfish.grizzly.http2.frames.SettingsFrame
      StackMap stack:
            aload 3 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.recycle:()V
         7: .line 525
            return
         8: .line 528
      StackMap locals:
      StackMap stack:
            aload 4 /* settingsFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame.getLength:()I
            bipush 6
            irem
            ifeq 10
         9: .line 529
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.FRAME_SIZE_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "SETTINGS frame length not multiple of six."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
        10: .line 531
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* http2Session */
            aload 2 /* context */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.sendSettingsAck:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
        11: .line 532
            aload 0 /* this */
            aload 1 /* http2Session */
            aload 4 /* settingsFrame */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.applySettings:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/SettingsFrame;)V
        12: .line 533
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 5
        14: .line 534
            aload 3 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.recycle:()V
        15: .line 535
            aload 5
            athrow
        16: .line 534
      StackMap locals:
      StackMap stack:
            aload 3 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.recycle:()V
        17: .line 538
            return
        end local 4 // org.glassfish.grizzly.http2.frames.SettingsFrame settingsFrame
        end local 3 // org.glassfish.grizzly.http2.frames.Http2Frame frame
        end local 2 // org.glassfish.grizzly.filterchain.FilterChainContext context
        end local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0           this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0   18     1   http2Session  Lorg/glassfish/grizzly/http2/Http2Session;
            0   18     2        context  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            0   18     3          frame  Lorg/glassfish/grizzly/http2/frames/Http2Frame;
            3   18     4  settingsFrame  Lorg/glassfish/grizzly/http2/frames/SettingsFrame;
      Exception table:
        from    to  target  type
           3     6      13  any
           8    13      13  any
    Exceptions:
      throws org.glassfish.grizzly.http2.Http2SessionException, org.glassfish.grizzly.http2.Http2StreamException
    MethodParameters:
              Name  Flags
      http2Session  final
      context       final
      frame         final

  void applySettings(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.http2.frames.SettingsFrame);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/SettingsFrame;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        start local 2 // org.glassfish.grizzly.http2.frames.SettingsFrame settingsFrame
         0: .line 543
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: aload 2 /* settingsFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame.getNumberOfSettings:()I
            istore 4 /* numberOfSettings */
        start local 4 // int numberOfSettings
         2: goto 24
         3: .line 544
      StackMap locals: int int
      StackMap stack:
            aload 2 /* settingsFrame */
            iload 3 /* i */
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame.getSettingByIndex:(I)Lorg/glassfish/grizzly/http2/frames/SettingsFrame$Setting;
            astore 5 /* setting */
        start local 5 // org.glassfish.grizzly.http2.frames.SettingsFrame$Setting setting
         4: .line 546
            aload 5 /* setting */
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$Setting.getId:()I
            tableswitch { // 1 - 6
                    1: 5
                    2: 6
                    3: 15
                    4: 17
                    5: 21
                    6: 23
              default: 23
          }
         5: .line 548
      StackMap locals: org.glassfish.grizzly.http2.frames.SettingsFrame$Setting
      StackMap stack:
            goto 23
         6: .line 550
      StackMap locals:
      StackMap stack:
            aload 5 /* setting */
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$Setting.getValue:()I
            istore 6 /* val */
        start local 6 // int val
         7: .line 551
            iload 6 /* val */
            iflt 8
            iload 6 /* val */
            iconst_1
            if_icmple 9
         8: .line 552
      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;
            ldc "Invalid value for SETTINGS_ENABLE_PUSH."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
         9: .line 554
      StackMap locals:
      StackMap stack:
            iload 6 /* val */
            iconst_1
            if_icmpne 10
            iconst_1
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 7 /* pushEnabled */
        start local 7 // boolean pushEnabled
        12: .line 555
            aload 1 /* http2Session */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getConnection:()Lorg/glassfish/grizzly/Connection;
            invokeinterface org.glassfish.grizzly.Connection.getAttributes:()Lorg/glassfish/grizzly/attributes/AttributeHolder;
            ldc "http2-push-enabled"
            iload 7 /* pushEnabled */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface org.glassfish.grizzly.attributes.AttributeHolder.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        13: .line 556
            aload 1 /* http2Session */
            iload 7 /* pushEnabled */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.setPushEnabled:(Z)V
        14: .line 557
            goto 23
        end local 7 // boolean pushEnabled
        end local 6 // int val
        15: .line 559
      StackMap locals:
      StackMap stack:
            aload 1 /* http2Session */
            aload 5 /* setting */
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$Setting.getValue:()I
            invokevirtual org.glassfish.grizzly.http2.Http2Session.setPeerMaxConcurrentStreams:(I)V
        16: .line 560
            goto 23
        17: .line 562
      StackMap locals:
      StackMap stack:
            aload 5 /* setting */
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$Setting.getValue:()I
            ldc -2147483648
            if_icmpne 19
        18: .line 563
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.FLOW_CONTROL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "SETTINGS_INITIAL_WINDOW_SIZE greater than 2^31-1."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
        19: .line 565
      StackMap locals:
      StackMap stack:
            aload 1 /* http2Session */
            aload 5 /* setting */
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$Setting.getValue:()I
            invokevirtual org.glassfish.grizzly.http2.Http2Session.setPeerStreamWindowSize:(I)V
        20: .line 566
            goto 23
        21: .line 568
      StackMap locals:
      StackMap stack:
            aload 1 /* http2Session */
            aload 5 /* setting */
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$Setting.getValue:()I
            invokevirtual org.glassfish.grizzly.http2.Http2Session.setPeerMaxFramePayloadSize:(I)V
        22: .line 569
            goto 23
        end local 5 // org.glassfish.grizzly.http2.frames.SettingsFrame$Setting setting
        23: .line 543
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 3 /* i */
            iload 4 /* numberOfSettings */
            if_icmplt 3
        end local 4 // int numberOfSettings
        end local 3 // int i
        25: .line 574
            return
        end local 2 // org.glassfish.grizzly.http2.frames.SettingsFrame settingsFrame
        end local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   26     0              this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0   26     1      http2Session  Lorg/glassfish/grizzly/http2/Http2Session;
            0   26     2     settingsFrame  Lorg/glassfish/grizzly/http2/frames/SettingsFrame;
            1   25     3                 i  I
            2   25     4  numberOfSettings  I
            4   23     5           setting  Lorg/glassfish/grizzly/http2/frames/SettingsFrame$Setting;
            7   15     6               val  I
           12   15     7       pushEnabled  Z
    Exceptions:
      throws org.glassfish.grizzly.http2.Http2SessionException, org.glassfish.grizzly.http2.Http2StreamException
    MethodParameters:
               Name  Flags
      http2Session   final
      settingsFrame  final

  private void processPingFrame(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.http2.frames.Http2Frame);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        start local 2 // org.glassfish.grizzly.http2.frames.Http2Frame frame
         0: .line 580
            aload 2 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getStreamId:()I
            ifeq 2
         1: .line 581
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "PING frame with non-zero stream ID."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
         2: .line 584
      StackMap locals:
      StackMap stack:
            aload 2 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getLength:()I
            bipush 8
            if_icmpeq 4
         3: .line 585
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.FRAME_SIZE_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "PING frame with invalid length."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
         4: .line 588
      StackMap locals:
      StackMap stack:
            aload 2 /* frame */
            checkcast org.glassfish.grizzly.http2.frames.PingFrame
            astore 3 /* pingFrame */
        start local 3 // org.glassfish.grizzly.http2.frames.PingFrame pingFrame
         5: .line 590
            aload 3 /* pingFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.PingFrame.isAckSet:()Z
            ifeq 7
         6: .line 591
            return
         7: .line 595
      StackMap locals: org.glassfish.grizzly.http2.frames.PingFrame
      StackMap stack:
            aload 3 /* pingFrame */
            iconst_1
            invokevirtual org.glassfish.grizzly.http2.frames.PingFrame.setFlag:(I)V
         8: .line 596
            aload 1 /* http2Session */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getOutputSink:()Lorg/glassfish/grizzly/http2/Http2SessionOutputSink;
            aload 3 /* pingFrame */
            invokevirtual org.glassfish.grizzly.http2.Http2SessionOutputSink.writeDownStream:(Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
         9: .line 597
            return
        end local 3 // org.glassfish.grizzly.http2.frames.PingFrame pingFrame
        end local 2 // org.glassfish.grizzly.http2.frames.Http2Frame frame
        end local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0   10     1  http2Session  Lorg/glassfish/grizzly/http2/Http2Session;
            0   10     2         frame  Lorg/glassfish/grizzly/http2/frames/Http2Frame;
            5   10     3     pingFrame  Lorg/glassfish/grizzly/http2/frames/PingFrame;
    Exceptions:
      throws org.glassfish.grizzly.http2.Http2SessionException
    MethodParameters:
              Name  Flags
      http2Session  final
      frame         final

  private void processRstStreamFrame(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.http2.frames.Http2Frame);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        start local 2 // org.glassfish.grizzly.http2.frames.Http2Frame frame
         0: .line 604
            aload 2 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getStreamId:()I
            istore 3 /* streamId */
        start local 3 // int streamId
         1: .line 605
            aload 2 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.recycle:()V
         2: .line 606
            iload 3 /* streamId */
            ifne 4
         3: .line 607
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "RST frame on stream ID zero."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
         4: .line 610
      StackMap locals: int
      StackMap stack:
            aload 1 /* http2Session */
            iload 3 /* streamId */
            invokestatic org.glassfish.grizzly.http2.Http2BaseFilter.ignoreFrameForStreamId:(Lorg/glassfish/grizzly/http2/Http2Session;I)Z
            ifeq 6
         5: .line 611
            return
         6: .line 613
      StackMap locals:
      StackMap stack:
            aload 1 /* http2Session */
            iload 3 /* streamId */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getStream:(I)Lorg/glassfish/grizzly/http2/Http2Stream;
            astore 4 /* stream */
        start local 4 // org.glassfish.grizzly.http2.Http2Stream stream
         7: .line 614
            aload 4 /* stream */
            ifnonnull 13
         8: .line 615
            iload 3 /* streamId */
            aload 1 /* http2Session */
            getfield org.glassfish.grizzly.http2.Http2Session.lastPeerStreamId:I
            if_icmple 10
         9: .line 617
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "Received RST frame on IDLE stream."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
        10: .line 619
      StackMap locals: org.glassfish.grizzly.http2.Http2Stream
      StackMap stack:
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.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 12
        11: .line 620
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
            ldc "Received RST frame on on existent stream.  Ignoring frame."
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        12: .line 622
      StackMap locals:
      StackMap stack:
            return
        13: .line 624
      StackMap locals:
      StackMap stack:
            aload 4 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Stream.isIdle:()Z
            ifeq 15
        14: .line 625
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "Illegal attempt to RST IDLE stream."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
        15: .line 629
      StackMap locals:
      StackMap stack:
            aload 4 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Stream.resetRemotely:()V
        16: .line 630
            return
        end local 4 // org.glassfish.grizzly.http2.Http2Stream stream
        end local 3 // int streamId
        end local 2 // org.glassfish.grizzly.http2.frames.Http2Frame frame
        end local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0   17     1  http2Session  Lorg/glassfish/grizzly/http2/Http2Session;
            0   17     2         frame  Lorg/glassfish/grizzly/http2/frames/Http2Frame;
            1   17     3      streamId  I
            7   17     4        stream  Lorg/glassfish/grizzly/http2/Http2Stream;
    Exceptions:
      throws org.glassfish.grizzly.http2.Http2SessionException
    MethodParameters:
              Name  Flags
      http2Session  final
      frame         final

  private void processHeadersFrame(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http2.frames.Http2Frame);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        start local 2 // org.glassfish.grizzly.filterchain.FilterChainContext context
        start local 3 // org.glassfish.grizzly.http2.frames.Http2Frame frame
         0: .line 635
            aload 3 /* frame */
            checkcast org.glassfish.grizzly.http2.frames.HeaderBlockFragment
            astore 4 /* headerBlockFragment */
        start local 4 // org.glassfish.grizzly.http2.frames.HeaderBlockFragment headerBlockFragment
         1: .line 636
            aload 4 /* headerBlockFragment */
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment.getStreamId:()I
            ifne 3
         2: .line 637
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "HEADERS frame received on stream 0."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
         3: .line 639
      StackMap locals: org.glassfish.grizzly.http2.frames.HeaderBlockFragment
      StackMap stack:
            aload 3 /* frame */
            instanceof org.glassfish.grizzly.http2.frames.HeaderBlockHead
            ifeq 7
         4: .line 640
            aload 3 /* frame */
            checkcast org.glassfish.grizzly.http2.frames.HeaderBlockHead
            astore 5 /* blockHead */
        start local 5 // org.glassfish.grizzly.http2.frames.HeaderBlockHead blockHead
         5: .line 641
            aload 5 /* blockHead */
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockHead.isPadded:()Z
            ifeq 7
            aload 5 /* blockHead */
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockHead.getPadLength:()I
            aload 4 /* headerBlockFragment */
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment.getLength:()I
            if_icmplt 7
         6: .line 642
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "Pad length greater than or equal to the payload length."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
        end local 5 // org.glassfish.grizzly.http2.frames.HeaderBlockHead blockHead
         7: .line 645
      StackMap locals:
      StackMap stack:
            aload 3 /* frame */
            instanceof org.glassfish.grizzly.http2.frames.HeadersFrame
            ifeq 12
         8: .line 646
            aload 3 /* frame */
            checkcast org.glassfish.grizzly.http2.frames.HeadersFrame
            astore 5 /* headersFrame */
        start local 5 // org.glassfish.grizzly.http2.frames.HeadersFrame headersFrame
         9: .line 647
            aload 5 /* headersFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.HeadersFrame.getStreamId:()I
            aload 5 /* headersFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.HeadersFrame.getStreamDependency:()I
            if_icmpne 11
        10: .line 648
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "HEADER frame dependent upon itself."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
        11: .line 650
      StackMap locals: org.glassfish.grizzly.http2.frames.HeadersFrame
      StackMap stack:
            aload 5 /* headersFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.HeadersFrame.normalize:()Lorg/glassfish/grizzly/http2/frames/HeadersFrame;
            pop
        end local 5 // org.glassfish.grizzly.http2.frames.HeadersFrame headersFrame
        12: .line 652
      StackMap locals:
      StackMap stack:
            aload 1 /* http2Session */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isServer:()Z
            ifeq 14
            aload 3 /* frame */
            invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getType:()I
            iconst_5
            if_icmpne 14
        13: .line 653
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "Server endpoint received PUSH_PROMISE frame."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
        14: .line 656
      StackMap locals:
      StackMap stack:
            aload 1 /* http2Session */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getHeadersDecoder:()Lorg/glassfish/grizzly/http2/HeadersDecoder;
            astore 5 /* headersDecoder */
        start local 5 // org.glassfish.grizzly.http2.HeadersDecoder headersDecoder
        15: .line 658
            aload 4 /* headerBlockFragment */
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment.getCompressedHeaders:()Lorg/glassfish/grizzly/Buffer;
            invokeinterface org.glassfish.grizzly.Buffer.hasRemaining:()Z
            ifeq 28
        16: .line 659
            aload 5 /* headersDecoder */
            aload 4 /* headerBlockFragment */
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment.takePayload:()Lorg/glassfish/grizzly/Buffer;
            invokevirtual org.glassfish.grizzly.http2.HeadersDecoder.append:(Lorg/glassfish/grizzly/Buffer;)Z
            ifne 28
        17: .line 660
            aload 5 /* headersDecoder */
            aload 4 /* headerBlockFragment */
            checkcast org.glassfish.grizzly.http2.frames.HeaderBlockHead
            invokevirtual org.glassfish.grizzly.http2.HeadersDecoder.setFirstHeaderFrame:(Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;)V
        18: .line 662
            aload 5 /* headersDecoder */
            invokevirtual org.glassfish.grizzly.http2.HeadersDecoder.finishHeader:()Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;
        19: .line 661
            astore 6 /* firstHeaderFrame */
        start local 6 // org.glassfish.grizzly.http2.frames.HeaderBlockHead firstHeaderFrame
        20: .line 663
            aload 6 /* firstHeaderFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockHead.setTruncated:()V
        21: .line 665
            aload 0 /* this */
            aload 1 /* http2Session */
            aload 2 /* context */
            aload 6 /* firstHeaderFrame */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processCompleteHeader:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;)V
        22: .line 666
            goto 26
      StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http2.frames.Http2Frame org.glassfish.grizzly.http2.frames.HeaderBlockFragment org.glassfish.grizzly.http2.HeadersDecoder org.glassfish.grizzly.http2.frames.HeaderBlockHead
      StackMap stack: java.lang.Throwable
        23: astore 7
        24: .line 667
            aload 6 /* firstHeaderFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockHead.recycle:()V
        25: .line 668
            aload 7
            athrow
        26: .line 667
      StackMap locals:
      StackMap stack:
            aload 6 /* firstHeaderFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockHead.recycle:()V
        27: .line 670
            return
        end local 6 // org.glassfish.grizzly.http2.frames.HeaderBlockHead firstHeaderFrame
        28: .line 674
      StackMap locals:
      StackMap stack:
            aload 4 /* headerBlockFragment */
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment.isEndHeaders:()Z
            istore 6 /* isEOH */
        start local 6 // boolean isEOH
        29: .line 676
            aload 5 /* headersDecoder */
            invokevirtual org.glassfish.grizzly.http2.HeadersDecoder.isProcessingHeaders:()Z
            ifne 32
        30: .line 677
            aload 5 /* headersDecoder */
            aload 4 /* headerBlockFragment */
            checkcast org.glassfish.grizzly.http2.frames.HeaderBlockHead
            invokevirtual org.glassfish.grizzly.http2.HeadersDecoder.setFirstHeaderFrame:(Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;)V
        31: .line 678
            goto 33
        32: .line 679
      StackMap locals: int
      StackMap stack:
            aload 4 /* headerBlockFragment */
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment.recycle:()V
        33: .line 682
      StackMap locals:
      StackMap stack:
            iload 6 /* isEOH */
            ifne 35
        34: .line 683
            return
        35: .line 687
      StackMap locals:
      StackMap stack:
            aload 5 /* headersDecoder */
            invokevirtual org.glassfish.grizzly.http2.HeadersDecoder.finishHeader:()Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;
        36: .line 686
            astore 7 /* firstHeaderFrame */
        start local 7 // org.glassfish.grizzly.http2.frames.HeaderBlockHead firstHeaderFrame
        37: .line 690
            aload 0 /* this */
            aload 1 /* http2Session */
            aload 2 /* context */
            aload 7 /* firstHeaderFrame */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processCompleteHeader:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;)V
        38: .line 691
            goto 42
      StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http2.frames.Http2Frame org.glassfish.grizzly.http2.frames.HeaderBlockFragment org.glassfish.grizzly.http2.HeadersDecoder int org.glassfish.grizzly.http2.frames.HeaderBlockHead
      StackMap stack: java.lang.Throwable
        39: astore 8
        40: .line 692
            aload 7 /* firstHeaderFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockHead.recycle:()V
        41: .line 693
            aload 8
            athrow
        42: .line 692
      StackMap locals:
      StackMap stack:
            aload 7 /* firstHeaderFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockHead.recycle:()V
        43: .line 694
            return
        end local 7 // org.glassfish.grizzly.http2.frames.HeaderBlockHead firstHeaderFrame
        end local 6 // boolean isEOH
        end local 5 // org.glassfish.grizzly.http2.HeadersDecoder headersDecoder
        end local 4 // org.glassfish.grizzly.http2.frames.HeaderBlockFragment headerBlockFragment
        end local 3 // org.glassfish.grizzly.http2.frames.Http2Frame frame
        end local 2 // org.glassfish.grizzly.filterchain.FilterChainContext context
        end local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   44     0                 this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0   44     1         http2Session  Lorg/glassfish/grizzly/http2/Http2Session;
            0   44     2              context  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            0   44     3                frame  Lorg/glassfish/grizzly/http2/frames/Http2Frame;
            1   44     4  headerBlockFragment  Lorg/glassfish/grizzly/http2/frames/HeaderBlockFragment;
            5    7     5            blockHead  Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;
            9   12     5         headersFrame  Lorg/glassfish/grizzly/http2/frames/HeadersFrame;
           15   44     5       headersDecoder  Lorg/glassfish/grizzly/http2/HeadersDecoder;
           20   28     6     firstHeaderFrame  Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;
           29   44     6                isEOH  Z
           37   44     7     firstHeaderFrame  Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;
      Exception table:
        from    to  target  type
          21    23      23  any
          37    39      39  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      http2Session  final
      context       final
      frame         final

  protected abstract void processCompleteHeader(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http2.frames.HeaderBlockHead);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                  Name  Flags
      http2Session      final
      context           final
      firstHeaderFrame  final

  public org.glassfish.grizzly.filterchain.NextAction handleWrite(org.glassfish.grizzly.filterchain.FilterChainContext);
    descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Lorg/glassfish/grizzly/filterchain/NextAction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
         0: .line 712
            aload 1 /* ctx */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
            invokestatic org.glassfish.grizzly.http2.Http2State.get:(Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/http2/Http2State;
            astore 2 /* http2State */
        start local 2 // org.glassfish.grizzly.http2.Http2State http2State
         1: .line 714
            aload 2 /* http2State */
            ifnull 2
            aload 2 /* http2State */
            invokevirtual org.glassfish.grizzly.http2.Http2State.isNeverHttp2:()Z
            ifeq 3
         2: .line 715
      StackMap locals: org.glassfish.grizzly.http2.Http2State
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getInvokeAction:()Lorg/glassfish/grizzly/filterchain/NextAction;
            areturn
         3: .line 718
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getMessage:()Ljava/lang/Object;
            astore 3 /* message */
        start local 3 // java.lang.Object message
         4: .line 720
            aload 0 /* this */
            aload 1 /* ctx */
            iconst_0
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.obtainHttp2Session:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;Z)Lorg/glassfish/grizzly/http2/Http2Session;
            astore 4 /* http2Session */
        start local 4 // org.glassfish.grizzly.http2.Http2Session http2Session
         5: .line 722
            aload 4 /* http2Session */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isHttp2OutputEnabled:()Z
            ifeq 11
         6: .line 723
            aload 3 /* message */
            invokestatic org.glassfish.grizzly.http.HttpPacket.isHttp:(Ljava/lang/Object;)Z
            ifeq 11
         7: .line 726
            aload 1 /* ctx */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getMessage:()Ljava/lang/Object;
            checkcast org.glassfish.grizzly.http.HttpPacket
            astore 5 /* httpPacket */
        start local 5 // org.glassfish.grizzly.http.HttpPacket httpPacket
         8: .line 727
            aload 5 /* httpPacket */
            invokevirtual org.glassfish.grizzly.http.HttpPacket.getHttpHeader:()Lorg/glassfish/grizzly/http/HttpHeader;
            astore 6 /* httpHeader */
        start local 6 // org.glassfish.grizzly.http.HttpHeader httpHeader
         9: .line 729
            aload 0 /* this */
            aload 1 /* ctx */
            aload 4 /* http2Session */
            aload 6 /* httpHeader */
            aload 5 /* httpPacket */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processOutgoingHttpHeader:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/http/HttpPacket;)V
        end local 6 // org.glassfish.grizzly.http.HttpHeader httpHeader
        end local 5 // org.glassfish.grizzly.http.HttpPacket httpPacket
        10: .line 730
            goto 16
        11: .line 731
      StackMap locals: java.lang.Object org.glassfish.grizzly.http2.Http2Session
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getTransportContext:()Lorg/glassfish/grizzly/filterchain/FilterChainContext$TransportContext;
            astore 5 /* transportContext */
        start local 5 // org.glassfish.grizzly.filterchain.FilterChainContext$TransportContext transportContext
        12: .line 732
            aload 4 /* http2Session */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getOutputSink:()Lorg/glassfish/grizzly/http2/Http2SessionOutputSink;
            aload 3 /* message */
        13: .line 733
            aload 5 /* transportContext */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext$TransportContext.getCompletionHandler:()Lorg/glassfish/grizzly/CompletionHandler;
        14: .line 734
            aload 5 /* transportContext */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext$TransportContext.getMessageCloner:()Lorg/glassfish/grizzly/asyncqueue/MessageCloner;
        15: .line 732
            invokevirtual org.glassfish.grizzly.http2.Http2SessionOutputSink.writeDownStream:(Ljava/lang/Object;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/asyncqueue/MessageCloner;)V
        end local 5 // org.glassfish.grizzly.filterchain.FilterChainContext$TransportContext transportContext
        16: .line 737
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getStopAction:()Lorg/glassfish/grizzly/filterchain/NextAction;
            areturn
        end local 4 // org.glassfish.grizzly.http2.Http2Session http2Session
        end local 3 // java.lang.Object message
        end local 2 // org.glassfish.grizzly.http2.Http2State http2State
        end local 1 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0              this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0   17     1               ctx  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            1   17     2        http2State  Lorg/glassfish/grizzly/http2/Http2State;
            4   17     3           message  Ljava/lang/Object;
            5   17     4      http2Session  Lorg/glassfish/grizzly/http2/Http2Session;
            8   10     5        httpPacket  Lorg/glassfish/grizzly/http/HttpPacket;
            9   10     6        httpHeader  Lorg/glassfish/grizzly/http/HttpHeader;
           12   16     5  transportContext  Lorg/glassfish/grizzly/filterchain/FilterChainContext$TransportContext;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      ctx   final

  protected abstract void processOutgoingHttpHeader(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.http.HttpPacket);
    descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/http/HttpPacket;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                  Name  Flags
      ctx               final
      http2Session      final
      httpHeader        final
      entireHttpPacket  final

  protected void prepareOutgoingRequest(org.glassfish.grizzly.http.HttpRequestPacket);
    descriptor: (Lorg/glassfish/grizzly/http/HttpRequestPacket;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http.HttpRequestPacket request
         0: .line 747
            aload 1 /* request */
            invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getContentType:()Ljava/lang/String;
            astore 2 /* contentType */
        start local 2 // java.lang.String contentType
         1: .line 748
            aload 2 /* contentType */
            ifnull 3
         2: .line 749
            aload 1 /* request */
            invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getHeaders:()Lorg/glassfish/grizzly/http/util/MimeHeaders;
            getstatic org.glassfish.grizzly.http.util.Header.ContentType:Lorg/glassfish/grizzly/http/util/Header;
            invokevirtual org.glassfish.grizzly.http.util.MimeHeaders.setValue:(Lorg/glassfish/grizzly/http/util/Header;)Lorg/glassfish/grizzly/http/util/DataChunk;
            aload 2 /* contentType */
            invokevirtual org.glassfish.grizzly.http.util.DataChunk.setString:(Ljava/lang/String;)V
         3: .line 752
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* request */
            invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getContentLength:()J
            ldc -1
            lcmp
            ifeq 5
         4: .line 754
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.FIXED_LENGTH_ENCODING:Lorg/glassfish/grizzly/http/TransferEncoding;
            aconst_null
            aload 1 /* request */
            aconst_null
            invokeinterface org.glassfish.grizzly.http.TransferEncoding.prepareSerialize:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/http/HttpContent;)V
         5: .line 756
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String contentType
        end local 1 // org.glassfish.grizzly.http.HttpRequestPacket request
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0    6     1      request  Lorg/glassfish/grizzly/http/HttpRequestPacket;
            1    6     2  contentType  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      request  final

  public org.glassfish.grizzly.filterchain.NextAction handleEvent(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.filterchain.FilterChainEvent);
    descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/filterchain/FilterChainEvent;)Lorg/glassfish/grizzly/filterchain/NextAction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        start local 2 // org.glassfish.grizzly.filterchain.FilterChainEvent event
         0: .line 762
            aload 1 /* ctx */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
            invokestatic org.glassfish.grizzly.http2.Http2State.isHttp2:(Lorg/glassfish/grizzly/Connection;)Z
            ifne 2
         1: .line 763
            aload 1 /* ctx */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getInvokeAction:()Lorg/glassfish/grizzly/filterchain/NextAction;
            areturn
         2: .line 766
      StackMap locals:
      StackMap stack:
            aload 2 /* event */
            invokeinterface org.glassfish.grizzly.filterchain.FilterChainEvent.type:()Ljava/lang/Object;
            astore 3 /* type */
        start local 3 // java.lang.Object type
         3: .line 768
            aload 3 /* type */
            getstatic org.glassfish.grizzly.filterchain.TransportFilter$FlushEvent.TYPE:Ljava/lang/Object;
            if_acmpne 11
         4: .line 769
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.$assertionsDisabled:Z
            ifne 5
            aload 2 /* event */
            instanceof org.glassfish.grizzly.filterchain.TransportFilter$FlushEvent
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 771
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* ctx */
            invokestatic org.glassfish.grizzly.http.HttpContext.get:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Lorg/glassfish/grizzly/http/HttpContext;
            astore 4 /* httpContext */
        start local 4 // org.glassfish.grizzly.http.HttpContext httpContext
         6: .line 772
            aload 4 /* httpContext */
            invokevirtual org.glassfish.grizzly.http.HttpContext.getContextStorage:()Lorg/glassfish/grizzly/attributes/AttributeStorage;
            checkcast org.glassfish.grizzly.http2.Http2Stream
            astore 5 /* stream */
        start local 5 // org.glassfish.grizzly.http2.Http2Stream stream
         7: .line 775
            aload 2 /* event */
            checkcast org.glassfish.grizzly.filterchain.TransportFilter$FlushEvent
         8: .line 774
            astore 6 /* flushEvent */
        start local 6 // org.glassfish.grizzly.filterchain.TransportFilter$FlushEvent flushEvent
         9: .line 777
            aload 5 /* stream */
            getfield org.glassfish.grizzly.http2.Http2Stream.outputSink:Lorg/glassfish/grizzly/http2/StreamOutputSink;
            aload 6 /* flushEvent */
            invokevirtual org.glassfish.grizzly.filterchain.TransportFilter$FlushEvent.getCompletionHandler:()Lorg/glassfish/grizzly/CompletionHandler;
            invokeinterface org.glassfish.grizzly.http2.StreamOutputSink.flush:(Lorg/glassfish/grizzly/CompletionHandler;)V
        10: .line 779
            aload 1 /* ctx */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getStopAction:()Lorg/glassfish/grizzly/filterchain/NextAction;
            areturn
        end local 6 // org.glassfish.grizzly.filterchain.TransportFilter$FlushEvent flushEvent
        end local 5 // org.glassfish.grizzly.http2.Http2Stream stream
        end local 4 // org.glassfish.grizzly.http.HttpContext httpContext
        11: .line 782
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getInvokeAction:()Lorg/glassfish/grizzly/filterchain/NextAction;
            areturn
        end local 3 // java.lang.Object type
        end local 2 // org.glassfish.grizzly.filterchain.FilterChainEvent event
        end local 1 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0   12     1          ctx  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            0   12     2        event  Lorg/glassfish/grizzly/filterchain/FilterChainEvent;
            3   12     3         type  Ljava/lang/Object;
            6   11     4  httpContext  Lorg/glassfish/grizzly/http/HttpContext;
            7   11     5       stream  Lorg/glassfish/grizzly/http2/Http2Stream;
            9   11     6   flushEvent  Lorg/glassfish/grizzly/filterchain/TransportFilter$FlushEvent;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      ctx    final
      event  final

  boolean checkIfHttp2StreamChain(org.glassfish.grizzly.filterchain.FilterChainContext);
    descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
         0: .line 787
            aload 1 /* ctx */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getMessage:()Ljava/lang/Object;
            astore 2 /* message */
        start local 2 // java.lang.Object message
         1: .line 789
            aload 2 /* message */
            ifnonnull 6
         2: .line 793
            aload 1 /* ctx */
            invokestatic org.glassfish.grizzly.http.HttpContext.get:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Lorg/glassfish/grizzly/http/HttpContext;
            invokevirtual org.glassfish.grizzly.http.HttpContext.getContextStorage:()Lorg/glassfish/grizzly/attributes/AttributeStorage;
            checkcast org.glassfish.grizzly.http2.Http2Stream
         3: .line 792
            astore 3 /* http2Stream */
        start local 3 // org.glassfish.grizzly.http2.Http2Stream http2Stream
         4: .line 794
            aload 1 /* ctx */
            aload 3 /* http2Stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Stream.pollInputData:()Lorg/glassfish/grizzly/http/HttpContent;
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.setMessage:(Ljava/lang/Object;)V
         5: .line 796
            iconst_1
            ireturn
        end local 3 // org.glassfish.grizzly.http2.Http2Stream http2Stream
         6: .line 799
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* message */
            checkcast org.glassfish.grizzly.http.HttpContent
            astore 3 /* httpContent */
        start local 3 // org.glassfish.grizzly.http.HttpContent httpContent
         7: .line 800
            aload 3 /* httpContent */
            invokevirtual org.glassfish.grizzly.http.HttpContent.getHttpHeader:()Lorg/glassfish/grizzly/http/HttpHeader;
            astore 4 /* httpHeader */
        start local 4 // org.glassfish.grizzly.http.HttpHeader httpHeader
         8: .line 804
            aload 4 /* httpHeader */
            invokestatic org.glassfish.grizzly.http2.Http2Stream.getStreamFor:(Lorg/glassfish/grizzly/http/HttpHeader;)Lorg/glassfish/grizzly/http2/Http2Stream;
            ifnull 9
            iconst_1
            ireturn
      StackMap locals: org.glassfish.grizzly.http.HttpContent org.glassfish.grizzly.http.HttpHeader
      StackMap stack:
         9: iconst_0
            ireturn
        end local 4 // org.glassfish.grizzly.http.HttpHeader httpHeader
        end local 3 // org.glassfish.grizzly.http.HttpContent httpContent
        end local 2 // java.lang.Object message
        end local 1 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0   10     1          ctx  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            1   10     2      message  Ljava/lang/Object;
            4    6     3  http2Stream  Lorg/glassfish/grizzly/http2/Http2Stream;
            7   10     3  httpContent  Lorg/glassfish/grizzly/http/HttpContent;
            8   10     4   httpHeader  Lorg/glassfish/grizzly/http/HttpHeader;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      ctx   final

  protected org.glassfish.grizzly.http2.Http2Session createHttp2Session(org.glassfish.grizzly.Connection, boolean);
    descriptor: (Lorg/glassfish/grizzly/Connection;Z)Lorg/glassfish/grizzly/http2/Http2Session;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.Connection connection
        start local 2 // boolean isServer
         0: .line 818
            new org.glassfish.grizzly.http2.Http2Session
            dup
            aload 1 /* connection */
            iload 2 /* isServer */
            aload 0 /* this */
            invokespecial org.glassfish.grizzly.http2.Http2Session.<init>:(Lorg/glassfish/grizzly/Connection;ZLorg/glassfish/grizzly/http2/Http2BaseFilter;)V
         1: .line 817
            astore 3 /* http2Session */
        start local 3 // org.glassfish.grizzly.http2.Http2Session http2Session
         2: .line 820
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2BaseFilter.configuration:Lorg/glassfish/grizzly/http2/Http2Configuration;
            invokevirtual org.glassfish.grizzly.http2.Http2Configuration.getInitialWindowSize:()I
            istore 4 /* initialWindowSize */
        start local 4 // int initialWindowSize
         3: .line 821
            iload 4 /* initialWindowSize */
            iconst_m1
            if_icmpeq 5
         4: .line 822
            aload 3 /* http2Session */
            iload 4 /* initialWindowSize */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.setLocalStreamWindowSize:(I)V
         5: .line 825
      StackMap locals: org.glassfish.grizzly.http2.Http2Session int
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2BaseFilter.configuration:Lorg/glassfish/grizzly/http2/Http2Configuration;
            invokevirtual org.glassfish.grizzly.http2.Http2Configuration.getMaxConcurrentStreams:()I
            istore 5 /* maxConcurrentStreams */
        start local 5 // int maxConcurrentStreams
         6: .line 826
            iload 5 /* maxConcurrentStreams */
            iconst_m1
            if_icmpeq 8
         7: .line 827
            aload 3 /* http2Session */
            iload 5 /* maxConcurrentStreams */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.setLocalMaxConcurrentStreams:(I)V
         8: .line 830
      StackMap locals: int
      StackMap stack:
            aload 1 /* connection */
            aload 3 /* http2Session */
            invokestatic org.glassfish.grizzly.http2.Http2Session.bind:(Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/http2/Http2Session;)V
         9: .line 832
            aload 3 /* http2Session */
            areturn
        end local 5 // int maxConcurrentStreams
        end local 4 // int initialWindowSize
        end local 3 // org.glassfish.grizzly.http2.Http2Session http2Session
        end local 2 // boolean isServer
        end local 1 // org.glassfish.grizzly.Connection connection
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   10     0                  this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0   10     1            connection  Lorg/glassfish/grizzly/Connection;
            0   10     2              isServer  Z
            2   10     3          http2Session  Lorg/glassfish/grizzly/http2/Http2Session;
            3   10     4     initialWindowSize  I
            6   10     5  maxConcurrentStreams  I
    MethodParameters:
            Name  Flags
      connection  final
      isServer    final

  protected void onPrefaceReceived(org.glassfish.grizzly.http2.Http2Session);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
         0: .line 836
            return
        end local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0    1     1  http2Session  Lorg/glassfish/grizzly/http2/Http2Session;
    MethodParameters:
              Name  Flags
      http2Session  final

  void sendUpstream(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.http2.Http2Stream, org.glassfish.grizzly.http.HttpContent);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/Http2Stream;Lorg/glassfish/grizzly/http/HttpContent;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        start local 2 // org.glassfish.grizzly.http2.Http2Stream stream
        start local 3 // org.glassfish.grizzly.http.HttpContent content
         0: .line 841
            aload 2 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Stream.getRequest:()Lorg/glassfish/grizzly/http/HttpRequestPacket;
            astore 4 /* request */
        start local 4 // org.glassfish.grizzly.http.HttpRequestPacket request
         1: .line 842
            aload 2 /* stream */
         2: .line 843
            aload 2 /* stream */
            aload 2 /* stream */
            aload 4 /* request */
         3: .line 842
            invokestatic org.glassfish.grizzly.http.HttpContext.newInstance:(Lorg/glassfish/grizzly/attributes/AttributeStorage;Lorg/glassfish/grizzly/OutputSink;Lorg/glassfish/grizzly/Closeable;Lorg/glassfish/grizzly/http/HttpRequestPacket;)Lorg/glassfish/grizzly/http/HttpContext;
            astore 5 /* httpContext */
        start local 5 // org.glassfish.grizzly.http.HttpContext httpContext
         4: .line 844
            aload 4 /* request */
            invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getProcessingState:()Lorg/glassfish/grizzly/http/ProcessingState;
            aload 5 /* httpContext */
            invokevirtual org.glassfish.grizzly.http.ProcessingState.setHttpContext:(Lorg/glassfish/grizzly/http/HttpContext;)V
         5: .line 846
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2BaseFilter.threadPool:Ljava/util/concurrent/ExecutorService;
            ifnonnull 14
         6: .line 850
            iconst_1
            invokestatic org.glassfish.grizzly.threadpool.Threads.setService:(Z)V
         7: .line 852
            aload 1 /* http2Session */
            aload 2 /* stream */
            aload 3 /* content */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.sendMessageUpstream:(Lorg/glassfish/grizzly/http2/Http2Stream;Lorg/glassfish/grizzly/http/HttpPacket;)V
         8: .line 853
            goto 12
      StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.http2.Http2Stream org.glassfish.grizzly.http.HttpContent org.glassfish.grizzly.http.HttpRequestPacket org.glassfish.grizzly.http.HttpContext
      StackMap stack: java.lang.Throwable
         9: astore 6
        10: .line 854
            iconst_0
            invokestatic org.glassfish.grizzly.threadpool.Threads.setService:(Z)V
        11: .line 855
            aload 6
            athrow
        12: .line 854
      StackMap locals:
      StackMap stack:
            iconst_0
            invokestatic org.glassfish.grizzly.threadpool.Threads.setService:(Z)V
        13: .line 856
            goto 15
        14: .line 857
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2BaseFilter.threadPool:Ljava/util/concurrent/ExecutorService;
            new org.glassfish.grizzly.http2.Http2BaseFilter$1
            dup
            aload 0 /* this */
            aload 1 /* http2Session */
            aload 2 /* stream */
            aload 3 /* content */
            invokespecial org.glassfish.grizzly.http2.Http2BaseFilter$1.<init>:(Lorg/glassfish/grizzly/http2/Http2BaseFilter;Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/Http2Stream;Lorg/glassfish/grizzly/http/HttpContent;)V
            invokeinterface java.util.concurrent.ExecutorService.execute:(Ljava/lang/Runnable;)V
        15: .line 864
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.glassfish.grizzly.http.HttpContext httpContext
        end local 4 // org.glassfish.grizzly.http.HttpRequestPacket request
        end local 3 // org.glassfish.grizzly.http.HttpContent content
        end local 2 // org.glassfish.grizzly.http2.Http2Stream stream
        end local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0          this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0   16     1  http2Session  Lorg/glassfish/grizzly/http2/Http2Session;
            0   16     2        stream  Lorg/glassfish/grizzly/http2/Http2Stream;
            0   16     3       content  Lorg/glassfish/grizzly/http/HttpContent;
            1   16     4       request  Lorg/glassfish/grizzly/http/HttpRequestPacket;
            4   16     5   httpContext  Lorg/glassfish/grizzly/http/HttpContext;
      Exception table:
        from    to  target  type
           7     9       9  any
    MethodParameters:
              Name  Flags
      http2Session  final
      stream        final
      content       final

  void prepareIncomingRequest(org.glassfish.grizzly.http2.Http2Stream, org.glassfish.grizzly.http2.Http2Request);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Stream;Lorg/glassfish/grizzly/http2/Http2Request;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http2.Http2Stream stream
        start local 2 // org.glassfish.grizzly.http2.Http2Request request
         0: .line 869
            aload 2 /* request */
            invokevirtual org.glassfish.grizzly.http2.Http2Request.getProcessingState:()Lorg/glassfish/grizzly/http/ProcessingState;
            astore 3 /* state */
        start local 3 // org.glassfish.grizzly.http.ProcessingState state
         1: .line 870
            aload 2 /* request */
            invokevirtual org.glassfish.grizzly.http2.Http2Request.getResponse:()Lorg/glassfish/grizzly/http/HttpResponsePacket;
            astore 4 /* response */
        start local 4 // org.glassfish.grizzly.http.HttpResponsePacket response
         2: .line 872
            aload 2 /* request */
            invokevirtual org.glassfish.grizzly.http2.Http2Request.getMethod:()Lorg/glassfish/grizzly/http/Method;
            astore 5 /* method */
        start local 5 // org.glassfish.grizzly.http.Method method
         3: .line 874
            aload 1 /* stream */
            invokevirtual org.glassfish.grizzly.http2.Http2Stream.isPushStream:()Z
            ifne 8
         4: .line 875
            getstatic org.glassfish.grizzly.http.Method.GET:Lorg/glassfish/grizzly/http/Method;
            aload 5 /* method */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 8
         5: .line 876
            getstatic org.glassfish.grizzly.http.Method.HEAD:Lorg/glassfish/grizzly/http/Method;
            aload 5 /* method */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 8
         6: .line 877
            getstatic org.glassfish.grizzly.http.Method.CONNECT:Lorg/glassfish/grizzly/http/Method;
            aload 5 /* method */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 9
         7: .line 878
            aload 2 /* request */
            invokevirtual org.glassfish.grizzly.http2.Http2Request.getContentLength:()J
            lconst_0
            lcmp
            ifne 9
         8: .line 879
      StackMap locals: org.glassfish.grizzly.http.ProcessingState org.glassfish.grizzly.http.HttpResponsePacket org.glassfish.grizzly.http.Method
      StackMap stack:
            aload 2 /* request */
            iconst_0
            invokevirtual org.glassfish.grizzly.http2.Http2Request.setExpectContent:(Z)V
         9: .line 884
      StackMap locals:
      StackMap stack:
            aload 2 /* request */
            invokevirtual org.glassfish.grizzly.http2.Http2Request.getProtocol:()Lorg/glassfish/grizzly/http/Protocol;
            pop
        10: .line 885
            goto 16
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
        11: pop
        12: .line 886
            aload 3 /* state */
            iconst_1
            invokevirtual org.glassfish.grizzly.http.ProcessingState.setError:(Z)V
        13: .line 888
            getstatic org.glassfish.grizzly.http.util.HttpStatus.HTTP_VERSION_NOT_SUPPORTED_505:Lorg/glassfish/grizzly/http/util/HttpStatus;
            aload 4 /* response */
            invokevirtual org.glassfish.grizzly.http.util.HttpStatus.setValues:(Lorg/glassfish/grizzly/http/HttpResponsePacket;)V
        14: .line 889
            aload 2 /* request */
            getstatic org.glassfish.grizzly.http.Protocol.HTTP_1_1:Lorg/glassfish/grizzly/http/Protocol;
            invokevirtual org.glassfish.grizzly.http2.Http2Request.setProtocol:(Lorg/glassfish/grizzly/http/Protocol;)V
        15: .line 891
            return
        16: .line 894
      StackMap locals:
      StackMap stack:
            aload 2 /* request */
            invokevirtual org.glassfish.grizzly.http2.Http2Request.getHeaders:()Lorg/glassfish/grizzly/http/util/MimeHeaders;
            astore 6 /* headers */
        start local 6 // org.glassfish.grizzly.http.util.MimeHeaders headers
        17: .line 896
            aload 6 /* headers */
            getstatic org.glassfish.grizzly.http.util.Header.Host:Lorg/glassfish/grizzly/http/util/Header;
            invokevirtual org.glassfish.grizzly.http.util.MimeHeaders.getValue:(Lorg/glassfish/grizzly/http/util/Header;)Lorg/glassfish/grizzly/http/util/DataChunk;
            astore 7 /* hostDC */
        start local 7 // org.glassfish.grizzly.http.util.DataChunk hostDC
        18: .line 899
            aload 7 /* hostDC */
            ifnull 19
            aload 7 /* hostDC */
            invokevirtual org.glassfish.grizzly.http.util.DataChunk.getLength:()I
            ifne 20
        19: .line 900
      StackMap locals: org.glassfish.grizzly.http.util.MimeHeaders org.glassfish.grizzly.http.util.DataChunk
      StackMap stack:
            aload 3 /* state */
            iconst_1
            invokevirtual org.glassfish.grizzly.http.ProcessingState.setError:(Z)V
        20: .line 903
      StackMap locals:
      StackMap stack:
            return
        end local 7 // org.glassfish.grizzly.http.util.DataChunk hostDC
        end local 6 // org.glassfish.grizzly.http.util.MimeHeaders headers
        end local 5 // org.glassfish.grizzly.http.Method method
        end local 4 // org.glassfish.grizzly.http.HttpResponsePacket response
        end local 3 // org.glassfish.grizzly.http.ProcessingState state
        end local 2 // org.glassfish.grizzly.http2.Http2Request request
        end local 1 // org.glassfish.grizzly.http2.Http2Stream stream
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0      this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0   21     1    stream  Lorg/glassfish/grizzly/http2/Http2Stream;
            0   21     2   request  Lorg/glassfish/grizzly/http2/Http2Request;
            1   21     3     state  Lorg/glassfish/grizzly/http/ProcessingState;
            2   21     4  response  Lorg/glassfish/grizzly/http/HttpResponsePacket;
            3   21     5    method  Lorg/glassfish/grizzly/http/Method;
           17   21     6   headers  Lorg/glassfish/grizzly/http/util/MimeHeaders;
           18   21     7    hostDC  Lorg/glassfish/grizzly/http/util/DataChunk;
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.IllegalStateException
    MethodParameters:
         Name  Flags
      stream   final
      request  final

  void sendRstStream(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http2.Http2Session, int, org.glassfish.grizzly.http2.frames.ErrorCode);
    descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/Http2Session;ILorg/glassfish/grizzly/http2/frames/ErrorCode;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        start local 2 // org.glassfish.grizzly.http2.Http2Session http2Session
        start local 3 // int streamId
        start local 4 // org.glassfish.grizzly.http2.frames.ErrorCode errorCode
         0: .line 909
            invokestatic org.glassfish.grizzly.http2.frames.RstStreamFrame.builder:()Lorg/glassfish/grizzly/http2/frames/RstStreamFrame$RstStreamFrameBuilder;
         1: .line 910
            aload 4 /* errorCode */
            invokevirtual org.glassfish.grizzly.http2.frames.RstStreamFrame$RstStreamFrameBuilder.errorCode:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;)Lorg/glassfish/grizzly/http2/frames/RstStreamFrame$RstStreamFrameBuilder;
         2: .line 911
            iload 3 /* streamId */
            invokevirtual org.glassfish.grizzly.http2.frames.RstStreamFrame$RstStreamFrameBuilder.streamId:(I)Lorg/glassfish/grizzly/http2/frames/Http2Frame$Http2FrameBuilder;
            checkcast org.glassfish.grizzly.http2.frames.RstStreamFrame$RstStreamFrameBuilder
         3: .line 912
            invokevirtual org.glassfish.grizzly.http2.frames.RstStreamFrame$RstStreamFrameBuilder.build:()Lorg/glassfish/grizzly/http2/frames/RstStreamFrame;
         4: .line 909
            astore 5 /* rstStreamFrame */
        start local 5 // org.glassfish.grizzly.http2.frames.RstStreamFrame rstStreamFrame
         5: .line 914
            aload 1 /* ctx */
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2BaseFilter.frameCodec:Lorg/glassfish/grizzly/http2/Http2FrameCodec;
            aload 2 /* http2Session */
            aload 5 /* rstStreamFrame */
            invokevirtual org.glassfish.grizzly.http2.Http2FrameCodec.serializeAndRecycle:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)Lorg/glassfish/grizzly/Buffer;
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.write:(Ljava/lang/Object;)V
         6: .line 915
            return
        end local 5 // org.glassfish.grizzly.http2.frames.RstStreamFrame rstStreamFrame
        end local 4 // org.glassfish.grizzly.http2.frames.ErrorCode errorCode
        end local 3 // int streamId
        end local 2 // org.glassfish.grizzly.http2.Http2Session http2Session
        end local 1 // org.glassfish.grizzly.filterchain.FilterChainContext ctx
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0    7     1             ctx  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            0    7     2    http2Session  Lorg/glassfish/grizzly/http2/Http2Session;
            0    7     3        streamId  I
            0    7     4       errorCode  Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            5    7     5  rstStreamFrame  Lorg/glassfish/grizzly/http2/frames/RstStreamFrame;
    MethodParameters:
              Name  Flags
      ctx           final
      http2Session  final
      streamId      final
      errorCode     final

  protected final org.glassfish.grizzly.http2.Http2Session obtainHttp2Session(org.glassfish.grizzly.filterchain.FilterChainContext, boolean);
    descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Z)Lorg/glassfish/grizzly/http2/Http2Session;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.filterchain.FilterChainContext context
        start local 2 // boolean isUpStream
         0: .line 932
            aload 0 /* this */
            aconst_null
            aload 1 /* context */
            iload 2 /* isUpStream */
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.obtainHttp2Session:(Lorg/glassfish/grizzly/http2/Http2State;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Z)Lorg/glassfish/grizzly/http2/Http2Session;
            areturn
        end local 2 // boolean isUpStream
        end local 1 // org.glassfish.grizzly.filterchain.FilterChainContext context
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0    1     1     context  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            0    1     2  isUpStream  Z
    MethodParameters:
            Name  Flags
      context     final
      isUpStream  final

  final org.glassfish.grizzly.http2.Http2Session obtainHttp2Session(org.glassfish.grizzly.http2.Http2State, org.glassfish.grizzly.filterchain.FilterChainContext, boolean);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2State;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Z)Lorg/glassfish/grizzly/http2/Http2Session;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http2.Http2State http2State
        start local 2 // org.glassfish.grizzly.filterchain.FilterChainContext context
        start local 3 // boolean isUpStream
         0: .line 950
            aload 2 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
            astore 4 /* connection */
        start local 4 // org.glassfish.grizzly.Connection connection
         1: .line 952
            aload 1 /* http2State */
            ifnull 3
         2: .line 953
            aload 1 /* http2State */
            invokevirtual org.glassfish.grizzly.http2.Http2State.getHttp2Session:()Lorg/glassfish/grizzly/http2/Http2Session;
            goto 4
         3: .line 954
      StackMap locals: org.glassfish.grizzly.Connection
      StackMap stack:
            aconst_null
         4: .line 952
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.http2.Http2Session
            astore 5 /* http2Session */
        start local 5 // org.glassfish.grizzly.http2.Http2Session http2Session
         5: .line 956
            aload 5 /* http2Session */
            ifnonnull 9
         6: .line 957
            aload 4 /* connection */
            invokestatic org.glassfish.grizzly.http2.Http2Session.get:(Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/http2/Http2Session;
            astore 5 /* http2Session */
         7: .line 958
            aload 5 /* http2Session */
            ifnonnull 9
         8: .line 960
            aload 0 /* this */
            aload 4 /* connection */
            iconst_1
            invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.createHttp2Session:(Lorg/glassfish/grizzly/Connection;Z)Lorg/glassfish/grizzly/http2/Http2Session;
            astore 5 /* http2Session */
         9: .line 964
      StackMap locals: org.glassfish.grizzly.http2.Http2Session
      StackMap stack:
            aload 5 /* http2Session */
            aload 2 /* context */
            iload 3 /* isUpStream */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.setupFilterChains:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;Z)V
        10: .line 966
            aload 5 /* http2Session */
            areturn
        end local 5 // org.glassfish.grizzly.http2.Http2Session http2Session
        end local 4 // org.glassfish.grizzly.Connection connection
        end local 3 // boolean isUpStream
        end local 2 // org.glassfish.grizzly.filterchain.FilterChainContext context
        end local 1 // org.glassfish.grizzly.http2.Http2State http2State
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0   11     1    http2State  Lorg/glassfish/grizzly/http2/Http2State;
            0   11     2       context  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            0   11     3    isUpStream  Z
            1   11     4    connection  Lorg/glassfish/grizzly/Connection;
            5   11     5  http2Session  Lorg/glassfish/grizzly/http2/Http2Session;
    MethodParameters:
            Name  Flags
      http2State  final
      context     final
      isUpStream  final

  private void sendSettingsAck(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.filterchain.FilterChainContext);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
        start local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        start local 2 // org.glassfish.grizzly.filterchain.FilterChainContext context
         0: .line 972
            invokestatic org.glassfish.grizzly.http2.frames.SettingsFrame.builder:()Lorg/glassfish/grizzly/http2/frames/SettingsFrame$SettingsFrameBuilder;
         1: .line 973
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$SettingsFrameBuilder.setAck:()Lorg/glassfish/grizzly/http2/frames/SettingsFrame$SettingsFrameBuilder;
         2: .line 974
            invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$SettingsFrameBuilder.build:()Lorg/glassfish/grizzly/http2/frames/SettingsFrame;
         3: .line 972
            astore 3 /* frame */
        start local 3 // org.glassfish.grizzly.http2.frames.SettingsFrame frame
         4: .line 976
            aload 2 /* context */
         5: .line 977
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2BaseFilter.frameCodec:Lorg/glassfish/grizzly/http2/Http2FrameCodec;
         6: .line 978
            aload 1 /* http2Session */
            aload 3 /* frame */
         7: .line 977
            invokevirtual org.glassfish.grizzly.http2.Http2FrameCodec.serializeAndRecycle:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)Lorg/glassfish/grizzly/Buffer;
         8: .line 976
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.write:(Ljava/lang/Object;)V
         9: .line 980
            return
        end local 3 // org.glassfish.grizzly.http2.frames.SettingsFrame frame
        end local 2 // org.glassfish.grizzly.filterchain.FilterChainContext context
        end local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        end local 0 // org.glassfish.grizzly.http2.Http2BaseFilter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/glassfish/grizzly/http2/Http2BaseFilter;
            0   10     1  http2Session  Lorg/glassfish/grizzly/http2/Http2Session;
            0   10     2       context  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            4   10     3         frame  Lorg/glassfish/grizzly/http2/frames/SettingsFrame;
    MethodParameters:
              Name  Flags
      http2Session  final
      context       final

  private static void processDataFrame(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http2.frames.Http2Frame);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // org.glassfish.grizzly.http2.Http2Session http2Session
        start local 1 // org.glassfish.grizzly.filterchain.FilterChainContext context
        start local 2 // org.glassfish.grizzly.http2.frames.Http2Frame frame
         0: .line 986
            aload 2 /* frame */
            checkcast org.glassfish.grizzly.http2.frames.DataFrame
            astore 3 /* dataFrame */
        start local 3 // org.glassfish.grizzly.http2.frames.DataFrame dataFrame
         1: .line 991
            aload 3 /* dataFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.DataFrame.isPadded:()Z
            ifeq 3
            aload 3 /* dataFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.DataFrame.getPadLength:()I
            aload 3 /* dataFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.DataFrame.getLength:()I
            if_icmplt 3
         2: .line 992
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "Pad length greater than or equal to the payload length."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
         3: .line 994
      StackMap locals: org.glassfish.grizzly.http2.frames.DataFrame
      StackMap stack:
            aload 3 /* dataFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.DataFrame.normalize:()Lorg/glassfish/grizzly/http2/frames/DataFrame;
            pop
         4: .line 995
            aload 3 /* dataFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.DataFrame.getData:()Lorg/glassfish/grizzly/Buffer;
            astore 4 /* data */
        start local 4 // org.glassfish.grizzly.Buffer data
         5: .line 996
            aload 3 /* dataFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.DataFrame.getStreamId:()I
            istore 5 /* streamId */
        start local 5 // int streamId
         6: .line 997
            aload 3 /* dataFrame */
            iconst_1
            invokevirtual org.glassfish.grizzly.http2.frames.DataFrame.isFlagSet:(I)Z
            istore 6 /* fin */
        start local 6 // boolean fin
         7: .line 999
            goto 11
        end local 6 // boolean fin
        end local 5 // int streamId
        end local 4 // org.glassfish.grizzly.Buffer data
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 7
         9: .line 1000
            aload 3 /* dataFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.DataFrame.recycle:()V
        10: .line 1001
            aload 7
            athrow
        start local 4 // org.glassfish.grizzly.Buffer data
        start local 5 // int streamId
        start local 6 // boolean fin
        11: .line 1000
      StackMap locals: org.glassfish.grizzly.Buffer int int
      StackMap stack:
            aload 3 /* dataFrame */
            invokevirtual org.glassfish.grizzly.http2.frames.DataFrame.recycle:()V
        12: .line 1004
            aload 0 /* http2Session */
            aload 4 /* data */
            invokeinterface org.glassfish.grizzly.Buffer.remaining:()I
            invokevirtual org.glassfish.grizzly.http2.Http2Session.ackConsumedData:(I)V
        13: .line 1007
            aload 0 /* http2Session */
            iload 5 /* streamId */
            invokestatic org.glassfish.grizzly.http2.Http2BaseFilter.ignoreFrameForStreamId:(Lorg/glassfish/grizzly/http2/Http2Session;I)Z
            ifeq 15
        14: .line 1008
            return
        15: .line 1011
      StackMap locals:
      StackMap stack:
            aload 0 /* http2Session */
            iload 5 /* streamId */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getStream:(I)Lorg/glassfish/grizzly/http2/Http2Stream;
            astore 7 /* stream */
        start local 7 // org.glassfish.grizzly.http2.Http2Stream stream
        16: .line 1012
            aload 7 /* stream */
            ifnonnull 18
            iload 5 /* streamId */
            aload 0 /* http2Session */
            getfield org.glassfish.grizzly.http2.Http2Session.lastPeerStreamId:I
            if_icmple 18
        17: .line 1014
            new org.glassfish.grizzly.http2.Http2SessionException
            dup
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            ldc "Received DATA frame on IDLE stream."
            invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
            athrow
        18: .line 1017
      StackMap locals: org.glassfish.grizzly.http2.Http2Stream
      StackMap stack:
            aload 7 /* stream */
            ifnonnull 24
        19: .line 1018
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.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 23
        20: .line 1019
            getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Data frame received for non-existent stream: connection={0}, frame={1}, stream={2}"
        21: .line 1020
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
            aastore
            dup
            iconst_1
            aload 3 /* dataFrame */
            aastore
            dup
            iconst_2
            iload 5 /* streamId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        22: .line 1019
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
        23: .line 1022
      StackMap locals:
      StackMap stack:
            new org.glassfish.grizzly.http2.Http2StreamException
            dup
            iload 5 /* streamId */
            getstatic org.glassfish.grizzly.http2.frames.ErrorCode.STREAM_CLOSED:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
            invokespecial org.glassfish.grizzly.http2.Http2StreamException.<init>:(ILorg/glassfish/grizzly/http2/frames/ErrorCode;)V
            athrow
        24: .line 1027
      StackMap locals:
      StackMap stack:
            aload 7 /* stream */
            iload 6 /* fin */
            invokevirtual org.glassfish.grizzly.http2.Http2Stream.assertCanAcceptData:(Z)Ljava/io/IOException;
            astore 8 /* error */
        start local 8 // java.io.IOException error
        25: .line 1028
            aload 8 /* error */
            ifnull 27
        26: .line 1029
            aload 8 /* error */
            athrow
        27: .line 1032
      StackMap locals: java.io.IOException
      StackMap stack:
            aload 7 /* stream */
            aload 4 /* data */
            iload 6 /* fin */
            invokevirtual org.glassfish.grizzly.http2.Http2Stream.offerInputData:(Lorg/glassfish/grizzly/Buffer;Z)V
        28: .line 1033
            return
        end local 8 // java.io.IOException error
        end local 7 // org.glassfish.grizzly.http2.Http2Stream stream
        end local 6 // boolean fin
        end local 5 // int streamId
        end local 4 // org.glassfish.grizzly.Buffer data
        end local 3 // org.glassfish.grizzly.http2.frames.DataFrame dataFrame
        end local 2 // org.glassfish.grizzly.http2.frames.Http2Frame frame
        end local 1 // org.glassfish.grizzly.filterchain.FilterChainContext context
        end local 0 // org.glassfish.grizzly.http2.Http2Session http2Session
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   29     0  http2Session  Lorg/glassfish/grizzly/http2/Http2Session;
            0   29     1       context  Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            0   29     2         frame  Lorg/glassfish/grizzly/http2/frames/Http2Frame;
            1   29     3     dataFrame  Lorg/glassfish/grizzly/http2/frames/DataFrame;
            5    8     4          data  Lorg/glassfish/grizzly/Buffer;
           11   29     4          data  Lorg/glassfish/grizzly/Buffer;
            6    8     5      streamId  I
           11   29     5      streamId  I
            7    8     6           fin  Z
           11   29     6           fin  Z
           16   29     7        stream  Lorg/glassfish/grizzly/http2/Http2Stream;
           25   29     8         error  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     8       8  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      http2Session  final
      context       final
      frame         final

  protected static boolean ignoreFrameForStreamId(org.glassfish.grizzly.http2.Http2Session, int);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;I)Z
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2Session session
        start local 1 // int streamId
         0: .line 1036
            aload 0 /* session */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.isGoingAway:()Z
            ifeq 1
            iload 1 /* streamId */
            aload 0 /* session */
            invokevirtual org.glassfish.grizzly.http2.Http2Session.getGoingAwayLastStreamId:()I
            if_icmple 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int streamId
        end local 0 // org.glassfish.grizzly.http2.Http2Session session
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0   session  Lorg/glassfish/grizzly/http2/Http2Session;
            0    2     1  streamId  I
    MethodParameters:
          Name  Flags
      session   final
      streamId  final
}
SourceFile: "Http2BaseFilter.java"
NestMembers:
  org.glassfish.grizzly.http2.Http2BaseFilter$1
InnerClasses:
  public final TransportContext = org.glassfish.grizzly.filterchain.FilterChainContext$TransportContext of org.glassfish.grizzly.filterchain.FilterChainContext
  public final FlushEvent = org.glassfish.grizzly.filterchain.TransportFilter$FlushEvent of org.glassfish.grizzly.filterchain.TransportFilter
  org.glassfish.grizzly.http2.Http2BaseFilter$1
  final Context = org.glassfish.grizzly.http2.NetLogger$Context of org.glassfish.grizzly.http2.NetLogger
  public RstStreamFrameBuilder = org.glassfish.grizzly.http2.frames.RstStreamFrame$RstStreamFrameBuilder of org.glassfish.grizzly.http2.frames.RstStreamFrame
  public final Setting = org.glassfish.grizzly.http2.frames.SettingsFrame$Setting of org.glassfish.grizzly.http2.frames.SettingsFrame
  public SettingsFrameBuilder = org.glassfish.grizzly.http2.frames.SettingsFrame$SettingsFrameBuilder of org.glassfish.grizzly.http2.frames.SettingsFrame
  protected abstract Http2FrameBuilder = org.glassfish.grizzly.http2.frames.Http2Frame$Http2FrameBuilder of org.glassfish.grizzly.http2.frames.Http2Frame