class io.undertow.protocols.http2.Http2FrameHeaderParser implements io.undertow.server.protocol.framed.FrameHeaderData
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.undertow.protocols.http2.Http2FrameHeaderParser
  super_class: java.lang.Object
{
  final byte[] header;
    descriptor: [B
    flags: (0x0010) ACC_FINAL

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

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

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

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

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

  io.undertow.protocols.http2.Http2PushBackParser parser;
    descriptor: Lio/undertow/protocols/http2/Http2PushBackParser;
    flags: (0x0000) 

  io.undertow.protocols.http2.Http2HeadersParser continuationParser;
    descriptor: Lio/undertow/protocols/http2/Http2HeadersParser;
    flags: (0x0000) 

  private static final int SECOND_RESERVED_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -129

  private io.undertow.protocols.http2.Http2Channel http2Channel;
    descriptor: Lio/undertow/protocols/http2/Http2Channel;
    flags: (0x0002) ACC_PRIVATE

  void <init>(io.undertow.protocols.http2.Http2Channel, io.undertow.protocols.http2.Http2HeadersParser);
    descriptor: (Lio/undertow/protocols/http2/Http2Channel;Lio/undertow/protocols/http2/Http2HeadersParser;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.undertow.protocols.http2.Http2FrameHeaderParser this
        start local 1 // io.undertow.protocols.http2.Http2Channel http2Channel
        start local 2 // io.undertow.protocols.http2.Http2HeadersParser continuationParser
         0: .line 63
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 49
            aload 0 /* this */
            bipush 9
            newarray 8
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.header:[B
         2: .line 50
            aload 0 /* this */
            iconst_0
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.read:I
         3: .line 57
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.parser:Lio/undertow/protocols/http2/Http2PushBackParser;
         4: .line 58
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.continuationParser:Lio/undertow/protocols/http2/Http2HeadersParser;
         5: .line 64
            aload 0 /* this */
            aload 1 /* http2Channel */
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.http2Channel:Lio/undertow/protocols/http2/Http2Channel;
         6: .line 65
            aload 0 /* this */
            aload 2 /* continuationParser */
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.continuationParser:Lio/undertow/protocols/http2/Http2HeadersParser;
         7: .line 66
            return
        end local 2 // io.undertow.protocols.http2.Http2HeadersParser continuationParser
        end local 1 // io.undertow.protocols.http2.Http2Channel http2Channel
        end local 0 // io.undertow.protocols.http2.Http2FrameHeaderParser this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0                this  Lio/undertow/protocols/http2/Http2FrameHeaderParser;
            0    8     1        http2Channel  Lio/undertow/protocols/http2/Http2Channel;
            0    8     2  continuationParser  Lio/undertow/protocols/http2/Http2HeadersParser;
    MethodParameters:
                    Name  Flags
      http2Channel        
      continuationParser  

  public boolean handle(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // io.undertow.protocols.http2.Http2FrameHeaderParser this
        start local 1 // java.nio.ByteBuffer byteBuffer
         0: .line 69
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.parser:Lio/undertow/protocols/http2/Http2PushBackParser;
            ifnonnull 60
         1: .line 70
            aload 0 /* this */
            aload 1 /* byteBuffer */
            invokevirtual io.undertow.protocols.http2.Http2FrameHeaderParser.parseFrameHeader:(Ljava/nio/ByteBuffer;)Z
            ifne 3
         2: .line 71
            iconst_0
            ireturn
         3: .line 73
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.continuationParser:Lio/undertow/protocols/http2/Http2HeadersParser;
            ifnull 5
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.type:I
            bipush 9
            if_icmpeq 5
         4: .line 74
            new io.undertow.protocols.http2.ConnectionErrorException
            dup
            iconst_1
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.expectedContinuationFrame:()Ljava/lang/String;
            invokespecial io.undertow.protocols.http2.ConnectionErrorException.<init>:(ILjava/lang/String;)V
            athrow
         5: .line 76
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.type:I
            tableswitch { // 0 - 9
                    0: 6
                    1: 10
                    2: 53
                    3: 16
                    4: 43
                    5: 29
                    6: 37
                    7: 33
                    8: 49
                    9: 20
              default: 59
          }
         6: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
            ifne 8
         7: .line 79
            new io.undertow.protocols.http2.ConnectionErrorException
            dup
            iconst_1
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            iconst_0
            invokeinterface io.undertow.UndertowMessages.streamIdMustNotBeZeroForFrameType:(I)Ljava/lang/String;
            invokespecial io.undertow.protocols.http2.ConnectionErrorException.<init>:(ILjava/lang/String;)V
            athrow
         8: .line 81
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.undertow.protocols.http2.Http2DataFrameParser
            dup
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            invokespecial io.undertow.protocols.http2.Http2DataFrameParser.<init>:(I)V
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.parser:Lio/undertow/protocols/http2/Http2PushBackParser;
         9: .line 82
            goto 60
        10: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
            ifne 12
        11: .line 86
            new io.undertow.protocols.http2.ConnectionErrorException
            dup
            iconst_1
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            iconst_1
            invokeinterface io.undertow.UndertowMessages.streamIdMustNotBeZeroForFrameType:(I)Ljava/lang/String;
            invokespecial io.undertow.protocols.http2.ConnectionErrorException.<init>:(ILjava/lang/String;)V
            athrow
        12: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.undertow.protocols.http2.Http2HeadersParser
            dup
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.http2Channel:Lio/undertow/protocols/http2/Http2Channel;
            invokevirtual io.undertow.protocols.http2.Http2Channel.getDecoder:()Lio/undertow/protocols/http2/HpackDecoder;
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.http2Channel:Lio/undertow/protocols/http2/Http2Channel;
            invokevirtual io.undertow.protocols.http2.Http2Channel.isClient:()Z
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.http2Channel:Lio/undertow/protocols/http2/Http2Channel;
            invokevirtual io.undertow.protocols.http2.Http2Channel.getMaxHeaders:()I
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.http2Channel:Lio/undertow/protocols/http2/Http2Channel;
            invokevirtual io.undertow.protocols.http2.Http2Channel.getMaxHeaderListSize:()I
            invokespecial io.undertow.protocols.http2.Http2HeadersParser.<init>:(ILio/undertow/protocols/http2/HpackDecoder;ZIII)V
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.parser:Lio/undertow/protocols/http2/Http2PushBackParser;
        13: .line 89
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.flags:I
            iconst_4
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 60
        14: .line 90
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.parser:Lio/undertow/protocols/http2/Http2PushBackParser;
            checkcast io.undertow.protocols.http2.Http2HeadersParser
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.continuationParser:Lio/undertow/protocols/http2/Http2HeadersParser;
        15: .line 92
            goto 60
        16: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            iconst_4
            if_icmpeq 18
        17: .line 96
            new io.undertow.protocols.http2.ConnectionErrorException
            dup
            bipush 6
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.incorrectFrameSize:()Ljava/lang/String;
            invokespecial io.undertow.protocols.http2.ConnectionErrorException.<init>:(ILjava/lang/String;)V
            athrow
        18: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.undertow.protocols.http2.Http2RstStreamParser
            dup
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            invokespecial io.undertow.protocols.http2.Http2RstStreamParser.<init>:(I)V
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.parser:Lio/undertow/protocols/http2/Http2PushBackParser;
        19: .line 99
            goto 60
        20: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.continuationParser:Lio/undertow/protocols/http2/Http2HeadersParser;
            ifnonnull 23
        21: .line 103
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.http2Channel:Lio/undertow/protocols/http2/Http2Channel;
            iconst_1
            invokevirtual io.undertow.protocols.http2.Http2Channel.sendGoAway:(I)V
        22: .line 104
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.http2ContinuationFrameNotExpected:()Ljava/io/IOException;
            athrow
        23: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.continuationParser:Lio/undertow/protocols/http2/Http2HeadersParser;
            invokevirtual io.undertow.protocols.http2.Http2HeadersParser.getStreamId:()I
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
            if_icmpeq 26
        24: .line 107
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.http2Channel:Lio/undertow/protocols/http2/Http2Channel;
            iconst_1
            invokevirtual io.undertow.protocols.http2.Http2Channel.sendGoAway:(I)V
        25: .line 108
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.http2ContinuationFrameNotExpected:()Ljava/io/IOException;
            athrow
        26: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.continuationParser:Lio/undertow/protocols/http2/Http2HeadersParser;
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.parser:Lio/undertow/protocols/http2/Http2PushBackParser;
        27: .line 111
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.continuationParser:Lio/undertow/protocols/http2/Http2HeadersParser;
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            invokevirtual io.undertow.protocols.http2.Http2HeadersParser.moreData:(I)V
        28: .line 112
            goto 60
        29: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.undertow.protocols.http2.Http2PushPromiseParser
            dup
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.http2Channel:Lio/undertow/protocols/http2/Http2Channel;
            invokevirtual io.undertow.protocols.http2.Http2Channel.getDecoder:()Lio/undertow/protocols/http2/HpackDecoder;
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.http2Channel:Lio/undertow/protocols/http2/Http2Channel;
            invokevirtual io.undertow.protocols.http2.Http2Channel.isClient:()Z
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.http2Channel:Lio/undertow/protocols/http2/Http2Channel;
            invokevirtual io.undertow.protocols.http2.Http2Channel.getMaxHeaders:()I
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.http2Channel:Lio/undertow/protocols/http2/Http2Channel;
            invokevirtual io.undertow.protocols.http2.Http2Channel.getMaxHeaderListSize:()I
            invokespecial io.undertow.protocols.http2.Http2PushPromiseParser.<init>:(ILio/undertow/protocols/http2/HpackDecoder;ZIII)V
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.parser:Lio/undertow/protocols/http2/Http2PushBackParser;
        30: .line 116
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.flags:I
            iconst_4
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 60
        31: .line 117
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.parser:Lio/undertow/protocols/http2/Http2PushBackParser;
            checkcast io.undertow.protocols.http2.Http2HeadersParser
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.continuationParser:Lio/undertow/protocols/http2/Http2HeadersParser;
        32: .line 119
            goto 60
        33: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
            ifeq 35
        34: .line 123
            new io.undertow.protocols.http2.ConnectionErrorException
            dup
            iconst_1
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            bipush 7
            invokeinterface io.undertow.UndertowMessages.streamIdMustBeZeroForFrameType:(I)Ljava/lang/String;
            invokespecial io.undertow.protocols.http2.ConnectionErrorException.<init>:(ILjava/lang/String;)V
            athrow
        35: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.undertow.protocols.http2.Http2GoAwayParser
            dup
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            invokespecial io.undertow.protocols.http2.Http2GoAwayParser.<init>:(I)V
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.parser:Lio/undertow/protocols/http2/Http2PushBackParser;
        36: .line 126
            goto 60
        37: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            bipush 8
            if_icmpeq 39
        38: .line 130
            new io.undertow.protocols.http2.ConnectionErrorException
            dup
            bipush 6
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.invalidPingSize:()Ljava/lang/String;
            invokespecial io.undertow.protocols.http2.ConnectionErrorException.<init>:(ILjava/lang/String;)V
            athrow
        39: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
            ifeq 41
        40: .line 133
            new io.undertow.protocols.http2.ConnectionErrorException
            dup
            iconst_1
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            bipush 6
            invokeinterface io.undertow.UndertowMessages.streamIdMustBeZeroForFrameType:(I)Ljava/lang/String;
            invokespecial io.undertow.protocols.http2.ConnectionErrorException.<init>:(ILjava/lang/String;)V
            athrow
        41: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.undertow.protocols.http2.Http2PingParser
            dup
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            invokespecial io.undertow.protocols.http2.Http2PingParser.<init>:(I)V
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.parser:Lio/undertow/protocols/http2/Http2PushBackParser;
        42: .line 136
            goto 60
        43: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            bipush 6
            irem
            ifeq 45
        44: .line 141
            new io.undertow.protocols.http2.ConnectionErrorException
            dup
            bipush 6
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.incorrectFrameSize:()Ljava/lang/String;
            invokespecial io.undertow.protocols.http2.ConnectionErrorException.<init>:(ILjava/lang/String;)V
            athrow
        45: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
            ifeq 47
        46: .line 144
            new io.undertow.protocols.http2.ConnectionErrorException
            dup
            iconst_1
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            iconst_4
            invokeinterface io.undertow.UndertowMessages.streamIdMustBeZeroForFrameType:(I)Ljava/lang/String;
            invokespecial io.undertow.protocols.http2.ConnectionErrorException.<init>:(ILjava/lang/String;)V
            athrow
        47: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.undertow.protocols.http2.Http2SettingsParser
            dup
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            invokespecial io.undertow.protocols.http2.Http2SettingsParser.<init>:(I)V
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.parser:Lio/undertow/protocols/http2/Http2PushBackParser;
        48: .line 147
            goto 60
        49: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            iconst_4
            if_icmpeq 51
        50: .line 151
            new io.undertow.protocols.http2.ConnectionErrorException
            dup
            bipush 6
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.incorrectFrameSize:()Ljava/lang/String;
            invokespecial io.undertow.protocols.http2.ConnectionErrorException.<init>:(ILjava/lang/String;)V
            athrow
        51: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.undertow.protocols.http2.Http2WindowUpdateParser
            dup
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            invokespecial io.undertow.protocols.http2.Http2WindowUpdateParser.<init>:(I)V
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.parser:Lio/undertow/protocols/http2/Http2PushBackParser;
        52: .line 154
            goto 60
        53: .line 157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            iconst_5
            if_icmpeq 55
        54: .line 158
            new io.undertow.protocols.http2.ConnectionErrorException
            dup
            bipush 6
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.incorrectFrameSize:()Ljava/lang/String;
            invokespecial io.undertow.protocols.http2.ConnectionErrorException.<init>:(ILjava/lang/String;)V
            athrow
        55: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
            ifne 57
        56: .line 161
            new io.undertow.protocols.http2.ConnectionErrorException
            dup
            iconst_1
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            iconst_2
            invokeinterface io.undertow.UndertowMessages.streamIdMustNotBeZeroForFrameType:(I)Ljava/lang/String;
            invokespecial io.undertow.protocols.http2.ConnectionErrorException.<init>:(ILjava/lang/String;)V
            athrow
        57: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.undertow.protocols.http2.Http2PriorityParser
            dup
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            invokespecial io.undertow.protocols.http2.Http2PriorityParser.<init>:(I)V
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.parser:Lio/undertow/protocols/http2/Http2PushBackParser;
        58: .line 164
            goto 60
        59: .line 167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.undertow.protocols.http2.Http2DiscardParser
            dup
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            invokespecial io.undertow.protocols.http2.Http2DiscardParser.<init>:(I)V
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.parser:Lio/undertow/protocols/http2/Http2PushBackParser;
        60: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.parser:Lio/undertow/protocols/http2/Http2PushBackParser;
            aload 1 /* byteBuffer */
            aload 0 /* this */
            invokevirtual io.undertow.protocols.http2.Http2PushBackParser.parse:(Ljava/nio/ByteBuffer;Lio/undertow/protocols/http2/Http2FrameHeaderParser;)V
        61: .line 173
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.continuationParser:Lio/undertow/protocols/http2/Http2HeadersParser;
            ifnull 64
        62: .line 174
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.flags:I
            iconst_4
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 64
        63: .line 175
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.continuationParser:Lio/undertow/protocols/http2/Http2HeadersParser;
        64: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.parser:Lio/undertow/protocols/http2/Http2PushBackParser;
            invokevirtual io.undertow.protocols.http2.Http2PushBackParser.isFinished:()Z
            ireturn
        end local 1 // java.nio.ByteBuffer byteBuffer
        end local 0 // io.undertow.protocols.http2.Http2FrameHeaderParser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   65     0        this  Lio/undertow/protocols/http2/Http2FrameHeaderParser;
            0   65     1  byteBuffer  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      byteBuffer  final

  private boolean parseFrameHeader(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.undertow.protocols.http2.Http2FrameHeaderParser this
        start local 1 // java.nio.ByteBuffer byteBuffer
         0: .line 182
            goto 2
         1: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.header:[B
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.read:I
            dup_x1
            iconst_1
            iadd
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.read:I
            aload 1 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            bastore
         2: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.read:I
            bipush 9
            if_icmpge 3
            aload 1 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 1
         3: .line 185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.read:I
            bipush 9
            if_icmpeq 5
         4: .line 186
            iconst_0
            ireturn
         5: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.header:[B
            iconst_0
            baload
            sipush 255
            iand
            bipush 16
            ishl
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
         6: .line 189
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.header:[B
            iconst_1
            baload
            sipush 255
            iand
            bipush 8
            ishl
            iadd
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
         7: .line 190
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.header:[B
            iconst_2
            baload
            sipush 255
            iand
            iadd
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
         8: .line 191
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.header:[B
            iconst_3
            baload
            sipush 255
            iand
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.type:I
         9: .line 192
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.header:[B
            iconst_4
            baload
            sipush 255
            iand
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.flags:I
        10: .line 193
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.header:[B
            iconst_5
            baload
            sipush -129
            iand
            sipush 255
            iand
            bipush 24
            ishl
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
        11: .line 194
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.header:[B
            bipush 6
            baload
            sipush 255
            iand
            bipush 16
            ishl
            iadd
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
        12: .line 195
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.header:[B
            bipush 7
            baload
            sipush 255
            iand
            bipush 8
            ishl
            iadd
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
        13: .line 196
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.header:[B
            bipush 8
            baload
            sipush 255
            iand
            iadd
            putfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
        14: .line 197
            iconst_1
            ireturn
        end local 1 // java.nio.ByteBuffer byteBuffer
        end local 0 // io.undertow.protocols.http2.Http2FrameHeaderParser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lio/undertow/protocols/http2/Http2FrameHeaderParser;
            0   15     1  byteBuffer  Ljava/nio/ByteBuffer;
    MethodParameters:
            Name  Flags
      byteBuffer  

  public long getFrameLength();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.protocols.http2.Http2FrameHeaderParser this
         0: .line 203
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.type:I
            ifeq 2
         1: .line 204
            lconst_0
            lreturn
         2: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            i2l
            lreturn
        end local 0 // io.undertow.protocols.http2.Http2FrameHeaderParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/protocols/http2/Http2FrameHeaderParser;

  int getActualLength();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.protocols.http2.Http2FrameHeaderParser this
         0: .line 210
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.length:I
            ireturn
        end local 0 // io.undertow.protocols.http2.Http2FrameHeaderParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/protocols/http2/Http2FrameHeaderParser;

  public io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?, ?, ?> getExistingChannel();
    descriptor: ()Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // io.undertow.protocols.http2.Http2FrameHeaderParser this
         0: .line 216
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.type:I
            ifeq 3
         1: .line 217
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.type:I
            bipush 9
            if_icmpeq 3
         2: .line 218
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.type:I
            iconst_2
            if_icmpne 16
         3: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.flags:I
            iconst_1
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 6
         4: .line 220
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.http2Channel:Lio/undertow/protocols/http2/Http2Channel;
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
            invokevirtual io.undertow.protocols.http2.Http2Channel.removeStreamSource:(I)Lio/undertow/protocols/http2/Http2StreamSourceChannel;
            astore 1 /* http2StreamSourceChannel */
        start local 1 // io.undertow.protocols.http2.Http2StreamSourceChannel http2StreamSourceChannel
         5: .line 221
            goto 12
        end local 1 // io.undertow.protocols.http2.Http2StreamSourceChannel http2StreamSourceChannel
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.type:I
            bipush 9
            if_icmpne 11
         7: .line 222
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.http2Channel:Lio/undertow/protocols/http2/Http2Channel;
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
            invokevirtual io.undertow.protocols.http2.Http2Channel.getIncomingStream:(I)Lio/undertow/protocols/http2/Http2StreamSourceChannel;
            astore 1 /* http2StreamSourceChannel */
        start local 1 // io.undertow.protocols.http2.Http2StreamSourceChannel http2StreamSourceChannel
         8: .line 223
            aload 1 /* http2StreamSourceChannel */
            ifnull 12
            aload 1 /* http2StreamSourceChannel */
            invokevirtual io.undertow.protocols.http2.Http2StreamSourceChannel.isHeadersEndStream:()Z
            ifeq 12
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.flags:I
            iconst_4
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 12
         9: .line 224
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.http2Channel:Lio/undertow/protocols/http2/Http2Channel;
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
            invokevirtual io.undertow.protocols.http2.Http2Channel.removeStreamSource:(I)Lio/undertow/protocols/http2/Http2StreamSourceChannel;
            pop
        10: .line 226
            goto 12
        end local 1 // io.undertow.protocols.http2.Http2StreamSourceChannel http2StreamSourceChannel
        11: .line 227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.http2Channel:Lio/undertow/protocols/http2/Http2Channel;
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
            invokevirtual io.undertow.protocols.http2.Http2Channel.getIncomingStream:(I)Lio/undertow/protocols/http2/Http2StreamSourceChannel;
            astore 1 /* http2StreamSourceChannel */
        start local 1 // io.undertow.protocols.http2.Http2StreamSourceChannel http2StreamSourceChannel
        12: .line 229
      StackMap locals: io.undertow.protocols.http2.Http2StreamSourceChannel
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.type:I
            ifne 15
            aload 1 /* http2StreamSourceChannel */
            ifnull 15
        13: .line 230
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.parser:Lio/undertow/protocols/http2/Http2PushBackParser;
            checkcast io.undertow.protocols.http2.Http2DataFrameParser
            astore 2 /* dataFrameParser */
        start local 2 // io.undertow.protocols.http2.Http2DataFrameParser dataFrameParser
        14: .line 231
            aload 1 /* http2StreamSourceChannel */
            aload 0 /* this */
            invokevirtual io.undertow.protocols.http2.Http2FrameHeaderParser.getFrameLength:()J
            aload 2 /* dataFrameParser */
            invokevirtual io.undertow.protocols.http2.Http2DataFrameParser.getPadding:()I
            i2l
            lsub
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.flags:I
            iconst_1
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            invokevirtual io.undertow.protocols.http2.Http2StreamSourceChannel.updateContentSize:(JZ)V
        end local 2 // io.undertow.protocols.http2.Http2DataFrameParser dataFrameParser
        15: .line 233
      StackMap locals:
      StackMap stack:
            aload 1 /* http2StreamSourceChannel */
            areturn
        end local 1 // io.undertow.protocols.http2.Http2StreamSourceChannel http2StreamSourceChannel
        16: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.type:I
            iconst_1
            if_icmpne 25
        17: .line 237
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.http2Channel:Lio/undertow/protocols/http2/Http2Channel;
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
            invokevirtual io.undertow.protocols.http2.Http2Channel.getIncomingStream:(I)Lio/undertow/protocols/http2/Http2StreamSourceChannel;
            astore 2 /* channel */
        start local 2 // io.undertow.protocols.http2.Http2StreamSourceChannel channel
        18: .line 238
            aload 2 /* channel */
            ifnull 24
        19: .line 239
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.flags:I
            iconst_1
            invokestatic org.xnio.Bits.anyAreClear:(II)Z
            ifeq 22
        20: .line 241
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Received HTTP/2 trailers header without end stream set"
            invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;)V
        21: .line 242
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.http2Channel:Lio/undertow/protocols/http2/Http2Channel;
            iconst_1
            invokevirtual io.undertow.protocols.http2.Http2Channel.sendGoAway:(I)V
        22: .line 244
      StackMap locals: io.undertow.protocols.http2.Http2FrameHeaderParser top io.undertow.protocols.http2.Http2StreamSourceChannel
      StackMap stack:
            aload 2 /* channel */
            invokevirtual io.undertow.protocols.http2.Http2StreamSourceChannel.isHeadersEndStream:()Z
            ifne 24
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.flags:I
            iconst_4
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 24
        23: .line 245
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.http2Channel:Lio/undertow/protocols/http2/Http2Channel;
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.streamId:I
            invokevirtual io.undertow.protocols.http2.Http2Channel.removeStreamSource:(I)Lio/undertow/protocols/http2/Http2StreamSourceChannel;
            pop
        24: .line 248
      StackMap locals:
      StackMap stack:
            aload 2 /* channel */
            areturn
        end local 2 // io.undertow.protocols.http2.Http2StreamSourceChannel channel
        25: .line 250
      StackMap locals: io.undertow.protocols.http2.Http2FrameHeaderParser
      StackMap stack:
            aconst_null
            areturn
        end local 0 // io.undertow.protocols.http2.Http2FrameHeaderParser this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   26     0                      this  Lio/undertow/protocols/http2/Http2FrameHeaderParser;
            5    6     1  http2StreamSourceChannel  Lio/undertow/protocols/http2/Http2StreamSourceChannel;
            8   11     1  http2StreamSourceChannel  Lio/undertow/protocols/http2/Http2StreamSourceChannel;
           12   16     1  http2StreamSourceChannel  Lio/undertow/protocols/http2/Http2StreamSourceChannel;
           14   15     2           dataFrameParser  Lio/undertow/protocols/http2/Http2DataFrameParser;
           18   25     2                   channel  Lio/undertow/protocols/http2/Http2StreamSourceChannel;
    Signature: ()Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel<***>;

  io.undertow.protocols.http2.Http2PushBackParser getParser();
    descriptor: ()Lio/undertow/protocols/http2/Http2PushBackParser;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.protocols.http2.Http2FrameHeaderParser this
         0: .line 254
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.parser:Lio/undertow/protocols/http2/Http2PushBackParser;
            areturn
        end local 0 // io.undertow.protocols.http2.Http2FrameHeaderParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/protocols/http2/Http2FrameHeaderParser;

  io.undertow.protocols.http2.Http2HeadersParser getContinuationParser();
    descriptor: ()Lio/undertow/protocols/http2/Http2HeadersParser;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.protocols.http2.Http2FrameHeaderParser this
         0: .line 258
            aload 0 /* this */
            getfield io.undertow.protocols.http2.Http2FrameHeaderParser.continuationParser:Lio/undertow/protocols/http2/Http2HeadersParser;
            areturn
        end local 0 // io.undertow.protocols.http2.Http2FrameHeaderParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/protocols/http2/Http2FrameHeaderParser;
}
SourceFile: "Http2FrameHeaderParser.java"