class io.undertow.server.protocol.http2.Http2UpgradeHandler$3 implements io.undertow.server.HttpUpgradeListener
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.undertow.server.protocol.http2.Http2UpgradeHandler$3
  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.lang.String val$upgrade;
    descriptor: Ljava/lang/String;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final java.nio.ByteBuffer val$settingsFrame;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final byte[] val$data;
    descriptor: [B
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(io.undertow.server.protocol.http2.Http2UpgradeHandler, java.lang.String, java.nio.ByteBuffer, byte[]);
    descriptor: (Lio/undertow/server/protocol/http2/Http2UpgradeHandler;Ljava/lang/String;Ljava/nio/ByteBuffer;[B)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.undertow.server.protocol.http2.Http2UpgradeHandler$3 this
         0: .line 160
            aload 0 /* this */
            aload 1
            putfield io.undertow.server.protocol.http2.Http2UpgradeHandler$3.this$0:Lio/undertow/server/protocol/http2/Http2UpgradeHandler;
            aload 0 /* this */
            aload 2
            putfield io.undertow.server.protocol.http2.Http2UpgradeHandler$3.val$upgrade:Ljava/lang/String;
            aload 0 /* this */
            aload 3
            putfield io.undertow.server.protocol.http2.Http2UpgradeHandler$3.val$settingsFrame:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            aload 4
            putfield io.undertow.server.protocol.http2.Http2UpgradeHandler$3.val$data:[B
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.undertow.server.protocol.http2.Http2UpgradeHandler$3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/http2/Http2UpgradeHandler$3;
    MethodParameters:
                   Name  Flags
      this$0             final
      val$upgrade        final
      val$settingsFrame  final
      val$data           final

  public void handleUpgrade(org.xnio.StreamConnection, io.undertow.server.HttpServerExchange);
    descriptor: (Lorg/xnio/StreamConnection;Lio/undertow/server/HttpServerExchange;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=6, args_size=3
        start local 0 // io.undertow.server.protocol.http2.Http2UpgradeHandler$3 this
        start local 1 // org.xnio.StreamConnection streamConnection
        start local 2 // io.undertow.server.HttpServerExchange exchange
         0: .line 163
            aload 2 /* exchange */
            invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.getUndertowOptions:()Lorg/xnio/OptionMap;
            astore 3 /* undertowOptions */
        start local 3 // org.xnio.OptionMap undertowOptions
         1: .line 164
            new io.undertow.protocols.http2.Http2Channel
            dup
            aload 1 /* streamConnection */
            aload 0 /* this */
            getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$3.val$upgrade:Ljava/lang/String;
            aload 2 /* exchange */
            invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.getByteBufferPool:()Lio/undertow/connector/ByteBufferPool;
            aconst_null
            iconst_0
            iconst_1
            iconst_1
            aload 0 /* this */
            getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$3.val$settingsFrame:Ljava/nio/ByteBuffer;
            aload 3 /* undertowOptions */
            invokespecial io.undertow.protocols.http2.Http2Channel.<init>:(Lorg/xnio/StreamConnection;Ljava/lang/String;Lio/undertow/connector/ByteBufferPool;Lio/undertow/connector/PooledByteBuffer;ZZZLjava/nio/ByteBuffer;Lorg/xnio/OptionMap;)V
            astore 4 /* channel */
        start local 4 // io.undertow.protocols.http2.Http2Channel channel
         2: .line 165
            new io.undertow.server.protocol.http2.Http2ReceiveListener
            dup
            new io.undertow.server.protocol.http2.Http2UpgradeHandler$3$1
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.protocol.http2.Http2UpgradeHandler$3$1.<init>:(Lio/undertow/server/protocol/http2/Http2UpgradeHandler$3;)V
         3: .line 177
            aload 3 /* undertowOptions */
            aload 2 /* exchange */
            invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.getBufferSize:()I
            aconst_null
         4: .line 165
            invokespecial io.undertow.server.protocol.http2.Http2ReceiveListener.<init>:(Lio/undertow/server/HttpHandler;Lorg/xnio/OptionMap;ILio/undertow/server/ConnectorStatisticsImpl;)V
            astore 5 /* receiveListener */
        start local 5 // io.undertow.server.protocol.http2.Http2ReceiveListener receiveListener
         5: .line 178
            aload 4 /* channel */
            invokevirtual io.undertow.protocols.http2.Http2Channel.getReceiveSetter:()Lorg/xnio/ChannelListener$Setter;
            aload 5 /* receiveListener */
            invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
         6: .line 179
            aload 5 /* receiveListener */
            aload 2 /* exchange */
            aload 4 /* channel */
            aload 0 /* this */
            getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$3.val$data:[B
            invokevirtual io.undertow.server.protocol.http2.Http2ReceiveListener.handleInitialRequest:(Lio/undertow/server/HttpServerExchange;Lio/undertow/protocols/http2/Http2Channel;[B)V
         7: .line 180
            aload 4 /* channel */
            invokevirtual io.undertow.protocols.http2.Http2Channel.resumeReceives:()V
         8: .line 181
            return
        end local 5 // io.undertow.server.protocol.http2.Http2ReceiveListener receiveListener
        end local 4 // io.undertow.protocols.http2.Http2Channel channel
        end local 3 // org.xnio.OptionMap undertowOptions
        end local 2 // io.undertow.server.HttpServerExchange exchange
        end local 1 // org.xnio.StreamConnection streamConnection
        end local 0 // io.undertow.server.protocol.http2.Http2UpgradeHandler$3 this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lio/undertow/server/protocol/http2/Http2UpgradeHandler$3;
            0    9     1  streamConnection  Lorg/xnio/StreamConnection;
            0    9     2          exchange  Lio/undertow/server/HttpServerExchange;
            1    9     3   undertowOptions  Lorg/xnio/OptionMap;
            2    9     4           channel  Lio/undertow/protocols/http2/Http2Channel;
            5    9     5   receiveListener  Lio/undertow/server/protocol/http2/Http2ReceiveListener;
    MethodParameters:
                  Name  Flags
      streamConnection  
      exchange          

  static io.undertow.server.protocol.http2.Http2UpgradeHandler access$0(io.undertow.server.protocol.http2.Http2UpgradeHandler$3);
    descriptor: (Lio/undertow/server/protocol/http2/Http2UpgradeHandler$3;)Lio/undertow/server/protocol/http2/Http2UpgradeHandler;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 160
            aload 0
            getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$3.this$0:Lio/undertow/server/protocol/http2/Http2UpgradeHandler;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "Http2UpgradeHandler.java"
EnclosingMethod: io.undertow.server.protocol.http2.Http2UpgradeHandler.handleHttp2Upgrade:(Lio/undertow/server/HttpServerExchange;Ljava/lang/String;Ljava/lang/String;[B)V
NestHost: io.undertow.server.protocol.http2.Http2UpgradeHandler
InnerClasses:
  io.undertow.server.protocol.http2.Http2UpgradeHandler$3
  io.undertow.server.protocol.http2.Http2UpgradeHandler$3$1
  public abstract Setter = org.xnio.ChannelListener$Setter of org.xnio.ChannelListener