class io.undertow.server.protocol.http2.Http2UpgradeHandler$2 implements io.undertow.io.Receiver$PartialBytesCallback
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.undertow.server.protocol.http2.Http2UpgradeHandler$2
  super_class: java.lang.Object
{
  final io.undertow.server.protocol.http2.Http2UpgradeHandler this$0;
    descriptor: Lio/undertow/server/protocol/http2/Http2UpgradeHandler;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final java.io.ByteArrayOutputStream val$outputStream;
    descriptor: Ljava/io/ByteArrayOutputStream;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final java.lang.String val$upgrade;
    descriptor: Ljava/lang/String;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final java.lang.String val$settings;
    descriptor: Ljava/lang/String;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final int val$maxBufferedSize;
    descriptor: I
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(io.undertow.server.protocol.http2.Http2UpgradeHandler, java.io.ByteArrayOutputStream, java.lang.String, java.lang.String, int);
    descriptor: (Lio/undertow/server/protocol/http2/Http2UpgradeHandler;Ljava/io/ByteArrayOutputStream;Ljava/lang/String;Ljava/lang/String;I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // io.undertow.server.protocol.http2.Http2UpgradeHandler$2 this
         0: .line 129
            aload 0 /* this */
            aload 1
            putfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.this$0:Lio/undertow/server/protocol/http2/Http2UpgradeHandler;
            aload 0 /* this */
            aload 2
            putfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$outputStream:Ljava/io/ByteArrayOutputStream;
            aload 0 /* this */
            aload 3
            putfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$upgrade:Ljava/lang/String;
            aload 0 /* this */
            aload 4
            putfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$settings:Ljava/lang/String;
            aload 0 /* this */
            iload 5
            putfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$maxBufferedSize:I
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.undertow.server.protocol.http2.Http2UpgradeHandler$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/http2/Http2UpgradeHandler$2;
    MethodParameters:
                     Name  Flags
      this$0               final
      val$outputStream     final
      val$upgrade          final
      val$settings         final
      val$maxBufferedSize  final

  public void handle(io.undertow.server.HttpServerExchange, byte[], boolean);
    descriptor: (Lio/undertow/server/HttpServerExchange;[BZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // io.undertow.server.protocol.http2.Http2UpgradeHandler$2 this
        start local 1 // io.undertow.server.HttpServerExchange exchange
        start local 2 // byte[] message
        start local 3 // boolean last
         0: .line 133
            aload 0 /* this */
            getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$outputStream:Ljava/io/ByteArrayOutputStream;
            aload 2 /* message */
            invokevirtual java.io.ByteArrayOutputStream.write:([B)V
         1: .line 134
            iload 3 /* last */
            ifeq 4
         2: .line 135
            aload 0 /* this */
            getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.this$0:Lio/undertow/server/protocol/http2/Http2UpgradeHandler;
            aload 1 /* exchange */
            aload 0 /* this */
            getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$upgrade:Ljava/lang/String;
            aload 0 /* this */
            getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$settings:Ljava/lang/String;
            aload 0 /* this */
            getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$outputStream:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokevirtual io.undertow.server.protocol.http2.Http2UpgradeHandler.handleHttp2Upgrade:(Lio/undertow/server/HttpServerExchange;Ljava/lang/String;Ljava/lang/String;[B)V
         3: .line 136
            goto 18
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$outputStream:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.size:()I
            aload 0 /* this */
            getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$maxBufferedSize:I
            if_icmplt 18
         5: .line 137
            aload 1 /* exchange */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestReceiver:()Lio/undertow/io/Receiver;
            invokeinterface io.undertow.io.Receiver.pause:()V
         6: .line 138
            aload 1 /* exchange */
            iconst_1
            anewarray io.undertow.connector.PooledByteBuffer
            dup
            iconst_0
            new io.undertow.util.ImmediatePooledByteBuffer
            dup
            aload 0 /* this */
            getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$outputStream:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            invokespecial io.undertow.util.ImmediatePooledByteBuffer.<init>:(Ljava/nio/ByteBuffer;)V
            aastore
            invokestatic io.undertow.server.Connectors.ungetRequestBytes:(Lio/undertow/server/HttpServerExchange;[Lio/undertow/connector/PooledByteBuffer;)V
         7: .line 139
            aload 1 /* exchange */
            invokestatic io.undertow.server.Connectors.resetRequestChannel:(Lio/undertow/server/HttpServerExchange;)V
         8: .line 140
            aload 0 /* this */
            getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.this$0:Lio/undertow/server/protocol/http2/Http2UpgradeHandler;
            getfield io.undertow.server.protocol.http2.Http2UpgradeHandler.next:Lio/undertow/server/HttpHandler;
            aload 1 /* exchange */
            invokeinterface io.undertow.server.HttpHandler.handleRequest:(Lio/undertow/server/HttpServerExchange;)V
         9: .line 142
            goto 18
      StackMap locals:
      StackMap stack: java.io.IOException
        10: astore 4 /* e */
        start local 4 // java.io.IOException e
        11: .line 143
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            aload 4 /* e */
            invokeinterface io.undertow.UndertowLogger.ioException:(Ljava/io/IOException;)V
        12: .line 144
            aload 1 /* exchange */
            invokevirtual io.undertow.server.HttpServerExchange.endExchange:()Lio/undertow/server/HttpServerExchange;
            pop
        end local 4 // java.io.IOException e
        13: goto 18
        14: .line 145
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 4 /* e */
        start local 4 // java.lang.RuntimeException e
        15: .line 146
            aload 4 /* e */
            athrow
        end local 4 // java.lang.RuntimeException e
        16: .line 147
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        17: .line 148
            new java.lang.RuntimeException
            dup
            aload 4 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception e
        18: .line 150
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean last
        end local 2 // byte[] message
        end local 1 // io.undertow.server.HttpServerExchange exchange
        end local 0 // io.undertow.server.protocol.http2.Http2UpgradeHandler$2 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      this  Lio/undertow/server/protocol/http2/Http2UpgradeHandler$2;
            0   19     1  exchange  Lio/undertow/server/HttpServerExchange;
            0   19     2   message  [B
            0   19     3      last  Z
           11   13     4         e  Ljava/io/IOException;
           15   16     4         e  Ljava/lang/RuntimeException;
           17   18     4         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     9      10  Class java.io.IOException
           0     9      14  Class java.lang.RuntimeException
           0     9      16  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      exchange  
      message   
      last      
}
SourceFile: "Http2UpgradeHandler.java"
EnclosingMethod: io.undertow.server.protocol.http2.Http2UpgradeHandler.handleUpgradeBody:(Lio/undertow/server/HttpServerExchange;Ljava/lang/String;Ljava/lang/String;)V
NestHost: io.undertow.server.protocol.http2.Http2UpgradeHandler
InnerClasses:
  public abstract PartialBytesCallback = io.undertow.io.Receiver$PartialBytesCallback of io.undertow.io.Receiver
  io.undertow.server.protocol.http2.Http2UpgradeHandler$2