public class io.undertow.protocols.ssl.UndertowXnioSsl extends org.xnio.ssl.XnioSsl
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.undertow.protocols.ssl.UndertowXnioSsl
  super_class: org.xnio.ssl.XnioSsl
{
  private static final io.undertow.connector.ByteBufferPool DEFAULT_BUFFER_POOL;
    descriptor: Lio/undertow/connector/ByteBufferPool;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final io.undertow.connector.ByteBufferPool bufferPool;
    descriptor: Lio/undertow/connector/ByteBufferPool;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile javax.net.ssl.SSLContext sslContext;
    descriptor: Ljavax/net/ssl/SSLContext;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 62
            new io.undertow.server.DefaultByteBufferPool
            dup
            iconst_1
            sipush 17408
            iconst_m1
            bipush 12
            invokespecial io.undertow.server.DefaultByteBufferPool.<init>:(ZIII)V
            putstatic io.undertow.protocols.ssl.UndertowXnioSsl.DEFAULT_BUFFER_POOL:Lio/undertow/connector/ByteBufferPool;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.xnio.Xnio, org.xnio.OptionMap);
    descriptor: (Lorg/xnio/Xnio;Lorg/xnio/OptionMap;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
        start local 1 // org.xnio.Xnio xnio
        start local 2 // org.xnio.OptionMap optionMap
         0: .line 77
            aload 0 /* this */
            aload 1 /* xnio */
            aload 2 /* optionMap */
            getstatic io.undertow.protocols.ssl.UndertowXnioSsl.DEFAULT_BUFFER_POOL:Lio/undertow/connector/ByteBufferPool;
            aload 2 /* optionMap */
            invokestatic org.xnio.ssl.JsseSslUtils.createSSLContext:(Lorg/xnio/OptionMap;)Ljavax/net/ssl/SSLContext;
            invokespecial io.undertow.protocols.ssl.UndertowXnioSsl.<init>:(Lorg/xnio/Xnio;Lorg/xnio/OptionMap;Lio/undertow/connector/ByteBufferPool;Ljavax/net/ssl/SSLContext;)V
         1: .line 78
            return
        end local 2 // org.xnio.OptionMap optionMap
        end local 1 // org.xnio.Xnio xnio
        end local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/undertow/protocols/ssl/UndertowXnioSsl;
            0    2     1       xnio  Lorg/xnio/Xnio;
            0    2     2  optionMap  Lorg/xnio/OptionMap;
    Exceptions:
      throws java.security.NoSuchProviderException, java.security.NoSuchAlgorithmException, java.security.KeyManagementException
    MethodParameters:
           Name  Flags
      xnio       final
      optionMap  final

  public void <init>(org.xnio.Xnio, org.xnio.OptionMap, javax.net.ssl.SSLContext);
    descriptor: (Lorg/xnio/Xnio;Lorg/xnio/OptionMap;Ljavax/net/ssl/SSLContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
        start local 1 // org.xnio.Xnio xnio
        start local 2 // org.xnio.OptionMap optionMap
        start local 3 // javax.net.ssl.SSLContext sslContext
         0: .line 87
            aload 0 /* this */
            aload 1 /* xnio */
            aload 2 /* optionMap */
            getstatic io.undertow.protocols.ssl.UndertowXnioSsl.DEFAULT_BUFFER_POOL:Lio/undertow/connector/ByteBufferPool;
            aload 3 /* sslContext */
            invokespecial io.undertow.protocols.ssl.UndertowXnioSsl.<init>:(Lorg/xnio/Xnio;Lorg/xnio/OptionMap;Lio/undertow/connector/ByteBufferPool;Ljavax/net/ssl/SSLContext;)V
         1: .line 88
            return
        end local 3 // javax.net.ssl.SSLContext sslContext
        end local 2 // org.xnio.OptionMap optionMap
        end local 1 // org.xnio.Xnio xnio
        end local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/undertow/protocols/ssl/UndertowXnioSsl;
            0    2     1        xnio  Lorg/xnio/Xnio;
            0    2     2   optionMap  Lorg/xnio/OptionMap;
            0    2     3  sslContext  Ljavax/net/ssl/SSLContext;
    MethodParameters:
            Name  Flags
      xnio        final
      optionMap   final
      sslContext  final

  public void <init>(org.xnio.Xnio, org.xnio.OptionMap, io.undertow.connector.ByteBufferPool);
    descriptor: (Lorg/xnio/Xnio;Lorg/xnio/OptionMap;Lio/undertow/connector/ByteBufferPool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
        start local 1 // org.xnio.Xnio xnio
        start local 2 // org.xnio.OptionMap optionMap
        start local 3 // io.undertow.connector.ByteBufferPool bufferPool
         0: .line 101
            aload 0 /* this */
            aload 1 /* xnio */
            aload 2 /* optionMap */
            aload 3 /* bufferPool */
            aload 2 /* optionMap */
            invokestatic org.xnio.ssl.JsseSslUtils.createSSLContext:(Lorg/xnio/OptionMap;)Ljavax/net/ssl/SSLContext;
            invokespecial io.undertow.protocols.ssl.UndertowXnioSsl.<init>:(Lorg/xnio/Xnio;Lorg/xnio/OptionMap;Lio/undertow/connector/ByteBufferPool;Ljavax/net/ssl/SSLContext;)V
         1: .line 102
            return
        end local 3 // io.undertow.connector.ByteBufferPool bufferPool
        end local 2 // org.xnio.OptionMap optionMap
        end local 1 // org.xnio.Xnio xnio
        end local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/undertow/protocols/ssl/UndertowXnioSsl;
            0    2     1        xnio  Lorg/xnio/Xnio;
            0    2     2   optionMap  Lorg/xnio/OptionMap;
            0    2     3  bufferPool  Lio/undertow/connector/ByteBufferPool;
    Exceptions:
      throws java.security.NoSuchProviderException, java.security.NoSuchAlgorithmException, java.security.KeyManagementException
    MethodParameters:
            Name  Flags
      xnio        final
      optionMap   final
      bufferPool  

  public void <init>(org.xnio.Xnio, org.xnio.OptionMap, io.undertow.connector.ByteBufferPool, javax.net.ssl.SSLContext);
    descriptor: (Lorg/xnio/Xnio;Lorg/xnio/OptionMap;Lio/undertow/connector/ByteBufferPool;Ljavax/net/ssl/SSLContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
        start local 1 // org.xnio.Xnio xnio
        start local 2 // org.xnio.OptionMap optionMap
        start local 3 // io.undertow.connector.ByteBufferPool bufferPool
        start local 4 // javax.net.ssl.SSLContext sslContext
         0: .line 112
            aload 0 /* this */
            aload 1 /* xnio */
            aload 4 /* sslContext */
            aload 2 /* optionMap */
            invokespecial org.xnio.ssl.XnioSsl.<init>:(Lorg/xnio/Xnio;Ljavax/net/ssl/SSLContext;Lorg/xnio/OptionMap;)V
         1: .line 113
            aload 0 /* this */
            aload 3 /* bufferPool */
            putfield io.undertow.protocols.ssl.UndertowXnioSsl.bufferPool:Lio/undertow/connector/ByteBufferPool;
         2: .line 114
            aload 0 /* this */
            aload 4 /* sslContext */
            putfield io.undertow.protocols.ssl.UndertowXnioSsl.sslContext:Ljavax/net/ssl/SSLContext;
         3: .line 115
            return
        end local 4 // javax.net.ssl.SSLContext sslContext
        end local 3 // io.undertow.connector.ByteBufferPool bufferPool
        end local 2 // org.xnio.OptionMap optionMap
        end local 1 // org.xnio.Xnio xnio
        end local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lio/undertow/protocols/ssl/UndertowXnioSsl;
            0    4     1        xnio  Lorg/xnio/Xnio;
            0    4     2   optionMap  Lorg/xnio/OptionMap;
            0    4     3  bufferPool  Lio/undertow/connector/ByteBufferPool;
            0    4     4  sslContext  Ljavax/net/ssl/SSLContext;
    MethodParameters:
            Name  Flags
      xnio        final
      optionMap   final
      bufferPool  
      sslContext  final

  public javax.net.ssl.SSLContext getSslContext();
    descriptor: ()Ljavax/net/ssl/SSLContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
         0: .line 124
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.UndertowXnioSsl.sslContext:Ljavax/net/ssl/SSLContext;
            areturn
        end local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/protocols/ssl/UndertowXnioSsl;

  public static javax.net.ssl.SSLEngine getSslEngine(org.xnio.ssl.SslConnection);
    descriptor: (Lorg/xnio/ssl/SslConnection;)Ljavax/net/ssl/SSLEngine;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.ssl.SslConnection connection
         0: .line 133
            aload 0 /* connection */
            instanceof io.undertow.protocols.ssl.UndertowSslConnection
            ifeq 2
         1: .line 134
            aload 0 /* connection */
            checkcast io.undertow.protocols.ssl.UndertowSslConnection
            invokevirtual io.undertow.protocols.ssl.UndertowSslConnection.getSSLEngine:()Ljavax/net/ssl/SSLEngine;
            areturn
         2: .line 136
      StackMap locals:
      StackMap stack:
            aload 0 /* connection */
            invokestatic org.xnio.ssl.JsseXnioSsl.getSslEngine:(Lorg/xnio/ssl/SslConnection;)Ljavax/net/ssl/SSLEngine;
            areturn
        end local 0 // org.xnio.ssl.SslConnection connection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  connection  Lorg/xnio/ssl/SslConnection;
    MethodParameters:
            Name  Flags
      connection  

  public static io.undertow.protocols.ssl.SslConduit getSslConduit(org.xnio.ssl.SslConnection);
    descriptor: (Lorg/xnio/ssl/SslConnection;)Lio/undertow/protocols/ssl/SslConduit;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.ssl.SslConnection connection
         0: .line 141
            aload 0 /* connection */
            checkcast io.undertow.protocols.ssl.UndertowSslConnection
            invokevirtual io.undertow.protocols.ssl.UndertowSslConnection.getSslConduit:()Lio/undertow/protocols/ssl/SslConduit;
            areturn
        end local 0 // org.xnio.ssl.SslConnection connection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  connection  Lorg/xnio/ssl/SslConnection;
    MethodParameters:
            Name  Flags
      connection  

  public org.xnio.IoFuture<org.xnio.channels.ConnectedSslStreamChannel> connectSsl(org.xnio.XnioWorker, java.net.InetSocketAddress, java.net.InetSocketAddress, org.xnio.ChannelListener<? super org.xnio.channels.ConnectedSslStreamChannel>, org.xnio.ChannelListener<? super org.xnio.channels.BoundChannel>, org.xnio.OptionMap);
    descriptor: (Lorg/xnio/XnioWorker;Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=9, args_size=7
        start local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
        start local 1 // org.xnio.XnioWorker worker
        start local 2 // java.net.InetSocketAddress bindAddress
        start local 3 // java.net.InetSocketAddress destination
        start local 4 // org.xnio.ChannelListener openListener
        start local 5 // org.xnio.ChannelListener bindListener
        start local 6 // org.xnio.OptionMap optionMap
         0: .line 146
            new org.xnio.FutureResult
            dup
            invokestatic org.xnio.IoUtils.directExecutor:()Ljava/util/concurrent/Executor;
            invokespecial org.xnio.FutureResult.<init>:(Ljava/util/concurrent/Executor;)V
            astore 7 /* futureResult */
        start local 7 // org.xnio.FutureResult futureResult
         1: .line 147
            aload 0 /* this */
            aload 1 /* worker */
            aload 2 /* bindAddress */
            aload 3 /* destination */
            new io.undertow.protocols.ssl.UndertowXnioSsl$1
            dup
            aload 0 /* this */
            aload 7 /* futureResult */
            aload 4 /* openListener */
            invokespecial io.undertow.protocols.ssl.UndertowXnioSsl$1.<init>:(Lio/undertow/protocols/ssl/UndertowXnioSsl;Lorg/xnio/FutureResult;Lorg/xnio/ChannelListener;)V
         2: .line 156
            aload 5 /* bindListener */
            aload 6 /* optionMap */
         3: .line 147
            invokevirtual io.undertow.protocols.ssl.UndertowXnioSsl.openSslConnection:(Lorg/xnio/XnioWorker;Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
         4: .line 156
            new io.undertow.protocols.ssl.UndertowXnioSsl$2
            dup
            aload 0 /* this */
            invokespecial io.undertow.protocols.ssl.UndertowXnioSsl$2.<init>:(Lio/undertow/protocols/ssl/UndertowXnioSsl;)V
         5: .line 164
            aload 7 /* futureResult */
         6: .line 156
            invokeinterface org.xnio.IoFuture.addNotifier:(Lorg/xnio/IoFuture$Notifier;Ljava/lang/Object;)Lorg/xnio/IoFuture;
         7: .line 147
            astore 8 /* futureSslConnection */
        start local 8 // org.xnio.IoFuture futureSslConnection
         8: .line 165
            aload 7 /* futureResult */
            invokevirtual org.xnio.FutureResult.getIoFuture:()Lorg/xnio/IoFuture;
            new io.undertow.protocols.ssl.UndertowXnioSsl$3
            dup
            aload 0 /* this */
            invokespecial io.undertow.protocols.ssl.UndertowXnioSsl$3.<init>:(Lio/undertow/protocols/ssl/UndertowXnioSsl;)V
         9: .line 169
            aload 8 /* futureSslConnection */
        10: .line 165
            invokeinterface org.xnio.IoFuture.addNotifier:(Lorg/xnio/IoFuture$Notifier;Ljava/lang/Object;)Lorg/xnio/IoFuture;
            pop
        11: .line 170
            aload 7 /* futureResult */
            aload 8 /* futureSslConnection */
            invokevirtual org.xnio.FutureResult.addCancelHandler:(Lorg/xnio/Cancellable;)V
        12: .line 171
            aload 7 /* futureResult */
            invokevirtual org.xnio.FutureResult.getIoFuture:()Lorg/xnio/IoFuture;
            areturn
        end local 8 // org.xnio.IoFuture futureSslConnection
        end local 7 // org.xnio.FutureResult futureResult
        end local 6 // org.xnio.OptionMap optionMap
        end local 5 // org.xnio.ChannelListener bindListener
        end local 4 // org.xnio.ChannelListener openListener
        end local 3 // java.net.InetSocketAddress destination
        end local 2 // java.net.InetSocketAddress bindAddress
        end local 1 // org.xnio.XnioWorker worker
        end local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   13     0                 this  Lio/undertow/protocols/ssl/UndertowXnioSsl;
            0   13     1               worker  Lorg/xnio/XnioWorker;
            0   13     2          bindAddress  Ljava/net/InetSocketAddress;
            0   13     3          destination  Ljava/net/InetSocketAddress;
            0   13     4         openListener  Lorg/xnio/ChannelListener<-Lorg/xnio/channels/ConnectedSslStreamChannel;>;
            0   13     5         bindListener  Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;
            0   13     6            optionMap  Lorg/xnio/OptionMap;
            1   13     7         futureResult  Lorg/xnio/FutureResult<Lorg/xnio/channels/ConnectedSslStreamChannel;>;
            8   13     8  futureSslConnection  Lorg/xnio/IoFuture<Lorg/xnio/ssl/SslConnection;>;
    Signature: (Lorg/xnio/XnioWorker;Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener<-Lorg/xnio/channels/ConnectedSslStreamChannel;>;Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture<Lorg/xnio/channels/ConnectedSslStreamChannel;>;
    MethodParameters:
              Name  Flags
      worker        final
      bindAddress   final
      destination   final
      openListener  final
      bindListener  final
      optionMap     final

  public org.xnio.IoFuture<org.xnio.ssl.SslConnection> openSslConnection(org.xnio.XnioWorker, java.net.InetSocketAddress, java.net.InetSocketAddress, org.xnio.ChannelListener<? super org.xnio.ssl.SslConnection>, org.xnio.ChannelListener<? super org.xnio.channels.BoundChannel>, org.xnio.OptionMap);
    descriptor: (Lorg/xnio/XnioWorker;Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=9, args_size=7
        start local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
        start local 1 // org.xnio.XnioWorker worker
        start local 2 // java.net.InetSocketAddress bindAddress
        start local 3 // java.net.InetSocketAddress destination
        start local 4 // org.xnio.ChannelListener openListener
        start local 5 // org.xnio.ChannelListener bindListener
        start local 6 // org.xnio.OptionMap optionMap
         0: .line 175
            new org.xnio.FutureResult
            dup
            aload 1 /* worker */
            invokespecial org.xnio.FutureResult.<init>:(Ljava/util/concurrent/Executor;)V
            astore 7 /* futureResult */
        start local 7 // org.xnio.FutureResult futureResult
         1: .line 176
            aload 1 /* worker */
            aload 2 /* bindAddress */
            aload 3 /* destination */
            new io.undertow.protocols.ssl.UndertowXnioSsl$StreamConnectionChannelListener
            dup
            aload 0 /* this */
            aload 6 /* optionMap */
            aload 3 /* destination */
            aload 7 /* futureResult */
            aload 4 /* openListener */
            invokespecial io.undertow.protocols.ssl.UndertowXnioSsl$StreamConnectionChannelListener.<init>:(Lio/undertow/protocols/ssl/UndertowXnioSsl;Lorg/xnio/OptionMap;Ljava/net/InetSocketAddress;Lorg/xnio/FutureResult;Lorg/xnio/ChannelListener;)V
            aload 5 /* bindListener */
            aload 6 /* optionMap */
            invokevirtual org.xnio.XnioWorker.openStreamConnection:(Ljava/net/SocketAddress;Ljava/net/SocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
            astore 8 /* connection */
        start local 8 // org.xnio.IoFuture connection
         2: .line 177
            aload 0 /* this */
            aload 7 /* futureResult */
            aload 8 /* connection */
            invokevirtual io.undertow.protocols.ssl.UndertowXnioSsl.setupSslConnection:(Lorg/xnio/FutureResult;Lorg/xnio/IoFuture;)Lorg/xnio/IoFuture;
            areturn
        end local 8 // org.xnio.IoFuture connection
        end local 7 // org.xnio.FutureResult futureResult
        end local 6 // org.xnio.OptionMap optionMap
        end local 5 // org.xnio.ChannelListener bindListener
        end local 4 // org.xnio.ChannelListener openListener
        end local 3 // java.net.InetSocketAddress destination
        end local 2 // java.net.InetSocketAddress bindAddress
        end local 1 // org.xnio.XnioWorker worker
        end local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lio/undertow/protocols/ssl/UndertowXnioSsl;
            0    3     1        worker  Lorg/xnio/XnioWorker;
            0    3     2   bindAddress  Ljava/net/InetSocketAddress;
            0    3     3   destination  Ljava/net/InetSocketAddress;
            0    3     4  openListener  Lorg/xnio/ChannelListener<-Lorg/xnio/ssl/SslConnection;>;
            0    3     5  bindListener  Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;
            0    3     6     optionMap  Lorg/xnio/OptionMap;
            1    3     7  futureResult  Lorg/xnio/FutureResult<Lorg/xnio/ssl/SslConnection;>;
            2    3     8    connection  Lorg/xnio/IoFuture<Lorg/xnio/StreamConnection;>;
    Signature: (Lorg/xnio/XnioWorker;Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener<-Lorg/xnio/ssl/SslConnection;>;Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture<Lorg/xnio/ssl/SslConnection;>;
    MethodParameters:
              Name  Flags
      worker        final
      bindAddress   final
      destination   final
      openListener  final
      bindListener  final
      optionMap     final

  public org.xnio.IoFuture<org.xnio.ssl.SslConnection> openSslConnection(org.xnio.XnioIoThread, java.net.InetSocketAddress, java.net.InetSocketAddress, org.xnio.ChannelListener<? super org.xnio.ssl.SslConnection>, org.xnio.ChannelListener<? super org.xnio.channels.BoundChannel>, org.xnio.OptionMap);
    descriptor: (Lorg/xnio/XnioIoThread;Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=9, args_size=7
        start local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
        start local 1 // org.xnio.XnioIoThread ioThread
        start local 2 // java.net.InetSocketAddress bindAddress
        start local 3 // java.net.InetSocketAddress destination
        start local 4 // org.xnio.ChannelListener openListener
        start local 5 // org.xnio.ChannelListener bindListener
        start local 6 // org.xnio.OptionMap optionMap
         0: .line 181
            new org.xnio.FutureResult
            dup
            aload 1 /* ioThread */
            invokespecial org.xnio.FutureResult.<init>:(Ljava/util/concurrent/Executor;)V
            astore 7 /* futureResult */
        start local 7 // org.xnio.FutureResult futureResult
         1: .line 182
            aload 1 /* ioThread */
            aload 2 /* bindAddress */
            aload 3 /* destination */
            new io.undertow.protocols.ssl.UndertowXnioSsl$StreamConnectionChannelListener
            dup
            aload 0 /* this */
            aload 6 /* optionMap */
            aload 3 /* destination */
            aload 7 /* futureResult */
            aload 4 /* openListener */
            invokespecial io.undertow.protocols.ssl.UndertowXnioSsl$StreamConnectionChannelListener.<init>:(Lio/undertow/protocols/ssl/UndertowXnioSsl;Lorg/xnio/OptionMap;Ljava/net/InetSocketAddress;Lorg/xnio/FutureResult;Lorg/xnio/ChannelListener;)V
            aload 5 /* bindListener */
            aload 6 /* optionMap */
            invokevirtual org.xnio.XnioIoThread.openStreamConnection:(Ljava/net/SocketAddress;Ljava/net/SocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
            astore 8 /* connection */
        start local 8 // org.xnio.IoFuture connection
         2: .line 183
            aload 0 /* this */
            aload 7 /* futureResult */
            aload 8 /* connection */
            invokevirtual io.undertow.protocols.ssl.UndertowXnioSsl.setupSslConnection:(Lorg/xnio/FutureResult;Lorg/xnio/IoFuture;)Lorg/xnio/IoFuture;
            areturn
        end local 8 // org.xnio.IoFuture connection
        end local 7 // org.xnio.FutureResult futureResult
        end local 6 // org.xnio.OptionMap optionMap
        end local 5 // org.xnio.ChannelListener bindListener
        end local 4 // org.xnio.ChannelListener openListener
        end local 3 // java.net.InetSocketAddress destination
        end local 2 // java.net.InetSocketAddress bindAddress
        end local 1 // org.xnio.XnioIoThread ioThread
        end local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lio/undertow/protocols/ssl/UndertowXnioSsl;
            0    3     1      ioThread  Lorg/xnio/XnioIoThread;
            0    3     2   bindAddress  Ljava/net/InetSocketAddress;
            0    3     3   destination  Ljava/net/InetSocketAddress;
            0    3     4  openListener  Lorg/xnio/ChannelListener<-Lorg/xnio/ssl/SslConnection;>;
            0    3     5  bindListener  Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;
            0    3     6     optionMap  Lorg/xnio/OptionMap;
            1    3     7  futureResult  Lorg/xnio/FutureResult<Lorg/xnio/ssl/SslConnection;>;
            2    3     8    connection  Lorg/xnio/IoFuture<Lorg/xnio/StreamConnection;>;
    Signature: (Lorg/xnio/XnioIoThread;Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener<-Lorg/xnio/ssl/SslConnection;>;Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture<Lorg/xnio/ssl/SslConnection;>;
    MethodParameters:
              Name  Flags
      ioThread      final
      bindAddress   final
      destination   final
      openListener  final
      bindListener  final
      optionMap     final

  public org.xnio.ssl.SslConnection wrapExistingConnection(org.xnio.StreamConnection, org.xnio.OptionMap);
    descriptor: (Lorg/xnio/StreamConnection;Lorg/xnio/OptionMap;)Lorg/xnio/ssl/SslConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
        start local 1 // org.xnio.StreamConnection connection
        start local 2 // org.xnio.OptionMap optionMap
         0: .line 187
            new io.undertow.protocols.ssl.UndertowSslConnection
            dup
            aload 1 /* connection */
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.UndertowXnioSsl.sslContext:Ljavax/net/ssl/SSLContext;
            aload 2 /* optionMap */
            aload 1 /* connection */
            invokevirtual org.xnio.StreamConnection.getPeerAddress:()Ljava/net/SocketAddress;
            checkcast java.net.InetSocketAddress
            invokestatic org.xnio.ssl.JsseSslUtils.createSSLEngine:(Ljavax/net/ssl/SSLContext;Lorg/xnio/OptionMap;Ljava/net/InetSocketAddress;)Ljavax/net/ssl/SSLEngine;
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.UndertowXnioSsl.bufferPool:Lio/undertow/connector/ByteBufferPool;
            invokespecial io.undertow.protocols.ssl.UndertowSslConnection.<init>:(Lorg/xnio/StreamConnection;Ljavax/net/ssl/SSLEngine;Lio/undertow/connector/ByteBufferPool;)V
            areturn
        end local 2 // org.xnio.OptionMap optionMap
        end local 1 // org.xnio.StreamConnection connection
        end local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lio/undertow/protocols/ssl/UndertowXnioSsl;
            0    1     1  connection  Lorg/xnio/StreamConnection;
            0    1     2   optionMap  Lorg/xnio/OptionMap;
    MethodParameters:
            Name  Flags
      connection  
      optionMap   

  private org.xnio.IoFuture<org.xnio.ssl.SslConnection> setupSslConnection(org.xnio.FutureResult<org.xnio.ssl.SslConnection>, org.xnio.IoFuture<org.xnio.StreamConnection>);
    descriptor: (Lorg/xnio/FutureResult;Lorg/xnio/IoFuture;)Lorg/xnio/IoFuture;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
        start local 1 // org.xnio.FutureResult futureResult
        start local 2 // org.xnio.IoFuture connection
         0: .line 191
            aload 2 /* connection */
            new io.undertow.protocols.ssl.UndertowXnioSsl$4
            dup
            aload 0 /* this */
            invokespecial io.undertow.protocols.ssl.UndertowXnioSsl$4.<init>:(Lio/undertow/protocols/ssl/UndertowXnioSsl;)V
         1: .line 199
            aload 1 /* futureResult */
         2: .line 191
            invokeinterface org.xnio.IoFuture.addNotifier:(Lorg/xnio/IoFuture$Notifier;Ljava/lang/Object;)Lorg/xnio/IoFuture;
            pop
         3: .line 200
            aload 1 /* futureResult */
            aload 2 /* connection */
            invokevirtual org.xnio.FutureResult.addCancelHandler:(Lorg/xnio/Cancellable;)V
         4: .line 201
            aload 1 /* futureResult */
            invokevirtual org.xnio.FutureResult.getIoFuture:()Lorg/xnio/IoFuture;
            areturn
        end local 2 // org.xnio.IoFuture connection
        end local 1 // org.xnio.FutureResult futureResult
        end local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lio/undertow/protocols/ssl/UndertowXnioSsl;
            0    5     1  futureResult  Lorg/xnio/FutureResult<Lorg/xnio/ssl/SslConnection;>;
            0    5     2    connection  Lorg/xnio/IoFuture<Lorg/xnio/StreamConnection;>;
    Signature: (Lorg/xnio/FutureResult<Lorg/xnio/ssl/SslConnection;>;Lorg/xnio/IoFuture<Lorg/xnio/StreamConnection;>;)Lorg/xnio/IoFuture<Lorg/xnio/ssl/SslConnection;>;
    MethodParameters:
              Name  Flags
      futureResult  
      connection    

  public org.xnio.channels.AcceptingChannel<org.xnio.channels.ConnectedSslStreamChannel> createSslTcpServer(org.xnio.XnioWorker, java.net.InetSocketAddress, org.xnio.ChannelListener<? super org.xnio.channels.AcceptingChannel<org.xnio.channels.ConnectedSslStreamChannel>>, org.xnio.OptionMap);
    descriptor: (Lorg/xnio/XnioWorker;Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/channels/AcceptingChannel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
        start local 1 // org.xnio.XnioWorker worker
        start local 2 // java.net.InetSocketAddress bindAddress
        start local 3 // org.xnio.ChannelListener acceptListener
        start local 4 // org.xnio.OptionMap optionMap
         0: .line 206
            aload 0 /* this */
            aload 1 /* worker */
            aload 2 /* bindAddress */
            aconst_null
            aload 4 /* optionMap */
            invokevirtual io.undertow.protocols.ssl.UndertowXnioSsl.createSslConnectionServer:(Lorg/xnio/XnioWorker;Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/channels/AcceptingChannel;
            astore 5 /* server */
        start local 5 // org.xnio.channels.AcceptingChannel server
         1: .line 207
            new io.undertow.protocols.ssl.UndertowXnioSsl$5
            dup
            aload 0 /* this */
            aload 5 /* server */
            invokespecial io.undertow.protocols.ssl.UndertowXnioSsl$5.<init>:(Lio/undertow/protocols/ssl/UndertowXnioSsl;Lorg/xnio/channels/AcceptingChannel;)V
            astore 6 /* acceptingChannel */
        start local 6 // org.xnio.channels.AcceptingChannel acceptingChannel
         2: .line 286
            aload 6 /* acceptingChannel */
            invokeinterface org.xnio.channels.AcceptingChannel.getAcceptSetter:()Lorg/xnio/ChannelListener$Setter;
            aload 3 /* acceptListener */
            invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
         3: .line 287
            aload 6 /* acceptingChannel */
            areturn
        end local 6 // org.xnio.channels.AcceptingChannel acceptingChannel
        end local 5 // org.xnio.channels.AcceptingChannel server
        end local 4 // org.xnio.OptionMap optionMap
        end local 3 // org.xnio.ChannelListener acceptListener
        end local 2 // java.net.InetSocketAddress bindAddress
        end local 1 // org.xnio.XnioWorker worker
        end local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lio/undertow/protocols/ssl/UndertowXnioSsl;
            0    4     1            worker  Lorg/xnio/XnioWorker;
            0    4     2       bindAddress  Ljava/net/InetSocketAddress;
            0    4     3    acceptListener  Lorg/xnio/ChannelListener<-Lorg/xnio/channels/AcceptingChannel<Lorg/xnio/channels/ConnectedSslStreamChannel;>;>;
            0    4     4         optionMap  Lorg/xnio/OptionMap;
            1    4     5            server  Lorg/xnio/channels/AcceptingChannel<Lorg/xnio/ssl/SslConnection;>;
            2    4     6  acceptingChannel  Lorg/xnio/channels/AcceptingChannel<Lorg/xnio/channels/ConnectedSslStreamChannel;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/xnio/XnioWorker;Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener<-Lorg/xnio/channels/AcceptingChannel<Lorg/xnio/channels/ConnectedSslStreamChannel;>;>;Lorg/xnio/OptionMap;)Lorg/xnio/channels/AcceptingChannel<Lorg/xnio/channels/ConnectedSslStreamChannel;>;
    MethodParameters:
                Name  Flags
      worker          final
      bindAddress     final
      acceptListener  final
      optionMap       final

  public void updateSSLContext(javax.net.ssl.SSLContext);
    descriptor: (Ljavax/net/ssl/SSLContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
        start local 1 // javax.net.ssl.SSLContext context
         0: .line 297
            aload 0 /* this */
            aload 1 /* context */
            putfield io.undertow.protocols.ssl.UndertowXnioSsl.sslContext:Ljavax/net/ssl/SSLContext;
         1: .line 298
            return
        end local 1 // javax.net.ssl.SSLContext context
        end local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/undertow/protocols/ssl/UndertowXnioSsl;
            0    2     1  context  Ljavax/net/ssl/SSLContext;
    MethodParameters:
         Name  Flags
      context  

  public org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection> createSslConnectionServer(org.xnio.XnioWorker, java.net.InetSocketAddress, org.xnio.ChannelListener<? super org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>, org.xnio.OptionMap);
    descriptor: (Lorg/xnio/XnioWorker;Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/channels/AcceptingChannel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
        start local 1 // org.xnio.XnioWorker worker
        start local 2 // java.net.InetSocketAddress bindAddress
        start local 3 // org.xnio.ChannelListener acceptListener
        start local 4 // org.xnio.OptionMap optionMap
         0: .line 301
            new io.undertow.protocols.ssl.UndertowAcceptingSslChannel
            dup
            aload 0 /* this */
            aload 1 /* worker */
            aload 2 /* bindAddress */
            aconst_null
            aload 4 /* optionMap */
            invokevirtual org.xnio.XnioWorker.createStreamConnectionServer:(Ljava/net/SocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/channels/AcceptingChannel;
            aload 4 /* optionMap */
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.UndertowXnioSsl.bufferPool:Lio/undertow/connector/ByteBufferPool;
            iconst_0
            invokespecial io.undertow.protocols.ssl.UndertowAcceptingSslChannel.<init>:(Lio/undertow/protocols/ssl/UndertowXnioSsl;Lorg/xnio/channels/AcceptingChannel;Lorg/xnio/OptionMap;Lio/undertow/connector/ByteBufferPool;Z)V
            astore 5 /* server */
        start local 5 // io.undertow.protocols.ssl.UndertowAcceptingSslChannel server
         1: .line 302
            aload 3 /* acceptListener */
            ifnull 2
            aload 5 /* server */
            invokevirtual io.undertow.protocols.ssl.UndertowAcceptingSslChannel.getAcceptSetter:()Lorg/xnio/ChannelListener$Setter;
            aload 3 /* acceptListener */
            invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
         2: .line 303
      StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel
      StackMap stack:
            aload 5 /* server */
            areturn
        end local 5 // io.undertow.protocols.ssl.UndertowAcceptingSslChannel server
        end local 4 // org.xnio.OptionMap optionMap
        end local 3 // org.xnio.ChannelListener acceptListener
        end local 2 // java.net.InetSocketAddress bindAddress
        end local 1 // org.xnio.XnioWorker worker
        end local 0 // io.undertow.protocols.ssl.UndertowXnioSsl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lio/undertow/protocols/ssl/UndertowXnioSsl;
            0    3     1          worker  Lorg/xnio/XnioWorker;
            0    3     2     bindAddress  Ljava/net/InetSocketAddress;
            0    3     3  acceptListener  Lorg/xnio/ChannelListener<-Lorg/xnio/channels/AcceptingChannel<Lorg/xnio/ssl/SslConnection;>;>;
            0    3     4       optionMap  Lorg/xnio/OptionMap;
            1    3     5          server  Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/xnio/XnioWorker;Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener<-Lorg/xnio/channels/AcceptingChannel<Lorg/xnio/ssl/SslConnection;>;>;Lorg/xnio/OptionMap;)Lorg/xnio/channels/AcceptingChannel<Lorg/xnio/ssl/SslConnection;>;
    MethodParameters:
                Name  Flags
      worker          final
      bindAddress     final
      acceptListener  final
      optionMap       final
}
SourceFile: "UndertowXnioSsl.java"
NestMembers:
  io.undertow.protocols.ssl.UndertowXnioSsl$1  io.undertow.protocols.ssl.UndertowXnioSsl$2  io.undertow.protocols.ssl.UndertowXnioSsl$3  io.undertow.protocols.ssl.UndertowXnioSsl$4  io.undertow.protocols.ssl.UndertowXnioSsl$5  io.undertow.protocols.ssl.UndertowXnioSsl$StreamConnectionChannelListener
InnerClasses:
  io.undertow.protocols.ssl.UndertowXnioSsl$1
  io.undertow.protocols.ssl.UndertowXnioSsl$2
  io.undertow.protocols.ssl.UndertowXnioSsl$3
  io.undertow.protocols.ssl.UndertowXnioSsl$4
  io.undertow.protocols.ssl.UndertowXnioSsl$5
  private StreamConnectionChannelListener = io.undertow.protocols.ssl.UndertowXnioSsl$StreamConnectionChannelListener of io.undertow.protocols.ssl.UndertowXnioSsl
  public abstract Setter = org.xnio.ChannelListener$Setter of org.xnio.ChannelListener
  public abstract Notifier = org.xnio.IoFuture$Notifier of org.xnio.IoFuture