public class io.undertow.protocols.ssl.SslConduit implements org.xnio.conduits.StreamSourceConduit, org.xnio.conduits.StreamSinkConduit
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.undertow.protocols.ssl.SslConduit
  super_class: java.lang.Object
{
  public static final int MAX_READ_LISTENER_INVOCATIONS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final int FLAG_READ_REQUIRES_WRITE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int FLAG_WRITE_REQUIRES_READ;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int FLAG_READS_RESUMED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int FLAG_WRITES_RESUMED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int FLAG_DATA_TO_UNWRAP;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  private static final int FLAG_READ_SHUTDOWN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  private static final int FLAG_WRITE_SHUTDOWN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 64

  private static final int FLAG_ENGINE_INBOUND_SHUTDOWN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 128

  private static final int FLAG_ENGINE_OUTBOUND_SHUTDOWN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 256

  private static final int FLAG_DELEGATE_SINK_SHUTDOWN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 512

  private static final int FLAG_DELEGATE_SOURCE_SHUTDOWN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1024

  private static final int FLAG_IN_HANDSHAKE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2048

  private static final int FLAG_CLOSED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4096

  private static final int FLAG_WRITE_CLOSED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8192

  private static final int FLAG_READ_CLOSED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16384

  public static final java.nio.ByteBuffer EMPTY_BUFFER;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static volatile io.undertow.connector.ByteBufferPool expandedBufferPool;
    descriptor: Lio/undertow/connector/ByteBufferPool;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private final io.undertow.protocols.ssl.UndertowSslConnection connection;
    descriptor: Lio/undertow/protocols/ssl/UndertowSslConnection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.xnio.StreamConnection delegate;
    descriptor: Lorg/xnio/StreamConnection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private javax.net.ssl.SSLEngine engine;
    descriptor: Ljavax/net/ssl/SSLEngine;
    flags: (0x0002) ACC_PRIVATE

  private final org.xnio.conduits.StreamSinkConduit sink;
    descriptor: Lorg/xnio/conduits/StreamSinkConduit;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.xnio.conduits.StreamSourceConduit source;
    descriptor: Lorg/xnio/conduits/StreamSourceConduit;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final java.lang.Runnable handshakeCallback;
    descriptor: Ljava/lang/Runnable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile int state;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile int outstandingTasks;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile io.undertow.connector.PooledByteBuffer wrappedData;
    descriptor: Lio/undertow/connector/PooledByteBuffer;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile io.undertow.connector.PooledByteBuffer dataToUnwrap;
    descriptor: Lio/undertow/connector/PooledByteBuffer;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile io.undertow.connector.PooledByteBuffer unwrappedData;
    descriptor: Lio/undertow/connector/PooledByteBuffer;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private io.undertow.protocols.ssl.SslConduit$SslWriteReadyHandler writeReadyHandler;
    descriptor: Lio/undertow/protocols/ssl/SslConduit$SslWriteReadyHandler;
    flags: (0x0002) ACC_PRIVATE

  private io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler readReadyHandler;
    descriptor: Lio/undertow/protocols/ssl/SslConduit$SslReadReadyHandler;
    flags: (0x0002) ACC_PRIVATE

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

  private boolean invokingReadListenerHandshake;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final java.lang.Runnable runReadListenerCommand;
    descriptor: Ljava/lang/Runnable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Runnable runReadListenerAndResumeCommand;
    descriptor: Ljava/lang/Runnable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 70
            ldc "io.undertow.ssl.max-read-listener-invocations"
            bipush 100
            invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            putstatic io.undertow.protocols.ssl.SslConduit.MAX_READ_LISTENER_INVOCATIONS:I
         1: .line 123
            iconst_0
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            putstatic io.undertow.protocols.ssl.SslConduit.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
         2: .line 130
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(io.undertow.protocols.ssl.UndertowSslConnection, org.xnio.StreamConnection, javax.net.ssl.SSLEngine, io.undertow.connector.ByteBufferPool, java.lang.Runnable);
    descriptor: (Lio/undertow/protocols/ssl/UndertowSslConnection;Lorg/xnio/StreamConnection;Ljavax/net/ssl/SSLEngine;Lio/undertow/connector/ByteBufferPool;Ljava/lang/Runnable;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // io.undertow.protocols.ssl.UndertowSslConnection connection
        start local 2 // org.xnio.StreamConnection delegate
        start local 3 // javax.net.ssl.SSLEngine engine
        start local 4 // io.undertow.connector.ByteBufferPool bufferPool
        start local 5 // java.lang.Runnable handshakeCallback
         0: .line 199
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 141
            aload 0 /* this */
            iconst_0
            putfield io.undertow.protocols.ssl.SslConduit.state:I
         2: .line 143
            aload 0 /* this */
            iconst_0
            putfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
         3: .line 171
            aload 0 /* this */
            iconst_0
            putfield io.undertow.protocols.ssl.SslConduit.invokingReadListenerHandshake:Z
         4: .line 175
            aload 0 /* this */
            new io.undertow.protocols.ssl.SslConduit$1
            dup
            aload 0 /* this */
            invokespecial io.undertow.protocols.ssl.SslConduit$1.<init>:(Lio/undertow/protocols/ssl/SslConduit;)V
            putfield io.undertow.protocols.ssl.SslConduit.runReadListenerCommand:Ljava/lang/Runnable;
         5: .line 189
            aload 0 /* this */
            new io.undertow.protocols.ssl.SslConduit$2
            dup
            aload 0 /* this */
            invokespecial io.undertow.protocols.ssl.SslConduit$2.<init>:(Lio/undertow/protocols/ssl/SslConduit;)V
            putfield io.undertow.protocols.ssl.SslConduit.runReadListenerAndResumeCommand:Ljava/lang/Runnable;
         6: .line 200
            aload 0 /* this */
            aload 1 /* connection */
            putfield io.undertow.protocols.ssl.SslConduit.connection:Lio/undertow/protocols/ssl/UndertowSslConnection;
         7: .line 201
            aload 0 /* this */
            aload 2 /* delegate */
            putfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
         8: .line 202
            aload 0 /* this */
            aload 5 /* handshakeCallback */
            putfield io.undertow.protocols.ssl.SslConduit.handshakeCallback:Ljava/lang/Runnable;
         9: .line 203
            aload 0 /* this */
            aload 2 /* delegate */
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getConduit:()Lorg/xnio/conduits/StreamSinkConduit;
            putfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
        10: .line 204
            aload 0 /* this */
            aload 2 /* delegate */
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getConduit:()Lorg/xnio/conduits/StreamSourceConduit;
            putfield io.undertow.protocols.ssl.SslConduit.source:Lorg/xnio/conduits/StreamSourceConduit;
        11: .line 205
            aload 0 /* this */
            aload 3 /* engine */
            putfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
        12: .line 206
            aload 0 /* this */
            aload 4 /* bufferPool */
            putfield io.undertow.protocols.ssl.SslConduit.bufferPool:Lio/undertow/connector/ByteBufferPool;
        13: .line 207
            aload 2 /* delegate */
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getConduit:()Lorg/xnio/conduits/StreamSourceConduit;
            aload 0 /* this */
            new io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler
            dup
            aload 0 /* this */
            aconst_null
            invokespecial io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler.<init>:(Lio/undertow/protocols/ssl/SslConduit;Lorg/xnio/conduits/ReadReadyHandler;)V
            dup_x1
            putfield io.undertow.protocols.ssl.SslConduit.readReadyHandler:Lio/undertow/protocols/ssl/SslConduit$SslReadReadyHandler;
            invokeinterface org.xnio.conduits.StreamSourceConduit.setReadReadyHandler:(Lorg/xnio/conduits/ReadReadyHandler;)V
        14: .line 208
            aload 2 /* delegate */
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getConduit:()Lorg/xnio/conduits/StreamSinkConduit;
            aload 0 /* this */
            new io.undertow.protocols.ssl.SslConduit$SslWriteReadyHandler
            dup
            aload 0 /* this */
            aconst_null
            invokespecial io.undertow.protocols.ssl.SslConduit$SslWriteReadyHandler.<init>:(Lio/undertow/protocols/ssl/SslConduit;Lorg/xnio/conduits/WriteReadyHandler;)V
            dup_x1
            putfield io.undertow.protocols.ssl.SslConduit.writeReadyHandler:Lio/undertow/protocols/ssl/SslConduit$SslWriteReadyHandler;
            invokeinterface org.xnio.conduits.StreamSinkConduit.setWriteReadyHandler:(Lorg/xnio/conduits/WriteReadyHandler;)V
        15: .line 209
            aload 3 /* engine */
            invokevirtual javax.net.ssl.SSLEngine.getUseClientMode:()Z
            ifeq 18
        16: .line 210
            aload 0 /* this */
            sipush 2049
            putfield io.undertow.protocols.ssl.SslConduit.state:I
        17: .line 211
            goto 19
        18: .line 212
      StackMap locals: io.undertow.protocols.ssl.SslConduit io.undertow.protocols.ssl.UndertowSslConnection org.xnio.StreamConnection javax.net.ssl.SSLEngine io.undertow.connector.ByteBufferPool java.lang.Runnable
      StackMap stack:
            aload 0 /* this */
            sipush 2050
            putfield io.undertow.protocols.ssl.SslConduit.state:I
        19: .line 214
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.Runnable handshakeCallback
        end local 4 // io.undertow.connector.ByteBufferPool bufferPool
        end local 3 // javax.net.ssl.SSLEngine engine
        end local 2 // org.xnio.StreamConnection delegate
        end local 1 // io.undertow.protocols.ssl.UndertowSslConnection connection
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   20     0               this  Lio/undertow/protocols/ssl/SslConduit;
            0   20     1         connection  Lio/undertow/protocols/ssl/UndertowSslConnection;
            0   20     2           delegate  Lorg/xnio/StreamConnection;
            0   20     3             engine  Ljavax/net/ssl/SSLEngine;
            0   20     4         bufferPool  Lio/undertow/connector/ByteBufferPool;
            0   20     5  handshakeCallback  Ljava/lang/Runnable;
    MethodParameters:
                   Name  Flags
      connection         
      delegate           
      engine             
      bufferPool         
      handshakeCallback  

  public void terminateReads();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 218
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 32
            ior
            putfield io.undertow.protocols.ssl.SslConduit.state:I
         1: .line 219
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.notifyReadClosed:()V
         2: .line 220
            return
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/protocols/ssl/SslConduit;
    Exceptions:
      throws java.io.IOException

  public boolean isReadShutdown();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 224
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 32
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ireturn
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/protocols/ssl/SslConduit;

  public void resumeReads();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 229
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_4
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 231
            return
         2: .line 233
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual io.undertow.protocols.ssl.SslConduit.resumeReads:(Z)V
         3: .line 234
            return
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/undertow/protocols/ssl/SslConduit;

  public void suspendReads();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 237
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush -5
            iand
            putfield io.undertow.protocols.ssl.SslConduit.state:I
         1: .line 238
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 10
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifne 3
         2: .line 239
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.suspendReads:()V
         3: .line 241
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/undertow/protocols/ssl/SslConduit;

  public void wakeupReads();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 245
            aload 0 /* this */
            iconst_1
            invokevirtual io.undertow.protocols.ssl.SslConduit.resumeReads:(Z)V
         1: .line 246
            return
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/protocols/ssl/SslConduit;

  private void resumeReads(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // boolean wakeup
         0: .line 249
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_4
            ior
            putfield io.undertow.protocols.ssl.SslConduit.state:I
         1: .line 250
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_1
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 4
         2: .line 251
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.resumeWrites:()V
         3: .line 252
            goto 8
         4: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 16
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 5
            iload 1 /* wakeup */
            ifne 5
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
            ifnull 7
         5: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual io.undertow.protocols.ssl.SslConduit.runReadListener:(Z)V
         6: .line 255
            goto 8
         7: .line 256
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.resumeReads:()V
         8: .line 259
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean wakeup
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lio/undertow/protocols/ssl/SslConduit;
            0    9     1  wakeup  Z
    MethodParameters:
        Name  Flags
      wakeup  

  private void runReadListener(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // boolean resumeInListener
         0: .line 264
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.readListenerInvocationCount:I
            dup_x1
            iconst_1
            iadd
            putfield io.undertow.protocols.ssl.SslConduit.readListenerInvocationCount:I
            getstatic io.undertow.protocols.ssl.SslConduit.MAX_READ_LISTENER_INVOCATIONS:I
            if_icmpne 5
         1: .line 265
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            aload 0 /* this */
            invokeinterface io.undertow.UndertowLogger.sslReadLoopDetected:(Lio/undertow/protocols/ssl/SslConduit;)V
            iconst_2
            anewarray java.io.Closeable
            dup
            iconst_0
         2: .line 266
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.connection:Lio/undertow/protocols/ssl/UndertowSslConnection;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            aastore
            invokestatic org.xnio.IoUtils.safeClose:([Ljava/io/Closeable;)V
         3: .line 267
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.close:()V
         4: .line 268
            return
         5: .line 270
      StackMap locals:
      StackMap stack:
            iload 1 /* resumeInListener */
            ifeq 8
         6: .line 271
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getIoThread:()Lorg/xnio/XnioIoThread;
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.runReadListenerAndResumeCommand:Ljava/lang/Runnable;
            invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
         7: .line 272
            goto 14
         8: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getIoThread:()Lorg/xnio/XnioIoThread;
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.runReadListenerCommand:Ljava/lang/Runnable;
            invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
         9: .line 275
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 2 /* e */
        start local 2 // java.lang.Throwable e
        11: iconst_2
            anewarray java.io.Closeable
            dup
            iconst_0
        12: .line 277
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.connection:Lio/undertow/protocols/ssl/UndertowSslConnection;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            aastore
            invokestatic org.xnio.IoUtils.safeClose:([Ljava/io/Closeable;)V
        13: .line 278
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            aload 2 /* e */
            ldc "Failed to queue read listener invocation"
            iconst_0
            anewarray java.lang.Object
            invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V
        end local 2 // java.lang.Throwable e
        14: .line 280
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean resumeInListener
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0              this  Lio/undertow/protocols/ssl/SslConduit;
            0   15     1  resumeInListener  Z
           11   14     2                 e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     4      10  Class java.lang.Throwable
           5     9      10  Class java.lang.Throwable
    MethodParameters:
                  Name  Flags
      resumeInListener  final

  private void runWriteListener();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 284
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getIoThread:()Lorg/xnio/XnioIoThread;
            new io.undertow.protocols.ssl.SslConduit$3
            dup
            aload 0 /* this */
            invokespecial io.undertow.protocols.ssl.SslConduit$3.<init>:(Lio/undertow/protocols/ssl/SslConduit;)V
            invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
         1: .line 290
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 1 /* e */
        start local 1 // java.lang.Throwable e
         3: iconst_2
            anewarray java.io.Closeable
            dup
            iconst_0
         4: .line 292
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.connection:Lio/undertow/protocols/ssl/UndertowSslConnection;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            aastore
            invokestatic org.xnio.IoUtils.safeClose:([Ljava/io/Closeable;)V
         5: .line 293
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            aload 1 /* e */
            ldc "Failed to queue read listener invocation"
            iconst_0
            anewarray java.lang.Object
            invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V
        end local 1 // java.lang.Throwable e
         6: .line 295
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/undertow/protocols/ssl/SslConduit;
            3    6     1     e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable

  public boolean isReadResumed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 299
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_4
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ireturn
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/protocols/ssl/SslConduit;

  public void awaitReadable();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 304
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 305
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
            ifle 8
         2: .line 307
            aload 0 /* this */
            invokevirtual java.lang.Object.wait:()V
         3: .line 308
            aload 1
            monitorexit
         4: return
         5: .line 309
      StackMap locals: io.undertow.protocols.ssl.SslConduit io.undertow.protocols.ssl.SslConduit
      StackMap stack: java.lang.InterruptedException
            pop
         6: .line 310
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
         7: .line 311
            new java.io.InterruptedIOException
            dup
            invokespecial java.io.InterruptedIOException.<init>:()V
            athrow
         8: .line 304
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
         9: goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: aload 1
            monitorexit
        11: athrow
        12: .line 315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
            ifnull 14
        13: .line 316
            return
        14: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 16
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 16
        15: .line 319
            return
        16: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_1
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 19
        17: .line 322
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.awaitWritable:()V
        18: .line 323
            return
        19: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.source:Lorg/xnio/conduits/StreamSourceConduit;
            invokeinterface org.xnio.conduits.StreamSourceConduit.awaitReadable:()V
        20: .line 326
            return
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Lio/undertow/protocols/ssl/SslConduit;
      Exception table:
        from    to  target  type
           2     3       5  Class java.lang.InterruptedException
           1     4      10  any
           5     9      10  any
          10    11      10  any
    Exceptions:
      throws java.io.IOException

  public void awaitReadable(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // long time
        start local 3 // java.util.concurrent.TimeUnit timeUnit
         0: .line 330
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         1: .line 331
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
            ifle 8
         2: .line 333
            aload 0 /* this */
            aload 3 /* timeUnit */
            lload 1 /* time */
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            invokevirtual java.lang.Object.wait:(J)V
         3: .line 334
            aload 4
            monitorexit
         4: return
         5: .line 335
      StackMap locals: io.undertow.protocols.ssl.SslConduit long java.util.concurrent.TimeUnit io.undertow.protocols.ssl.SslConduit
      StackMap stack: java.lang.InterruptedException
            pop
         6: .line 336
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
         7: .line 337
            new java.io.InterruptedIOException
            dup
            invokespecial java.io.InterruptedIOException.<init>:()V
            athrow
         8: .line 330
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
         9: goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: aload 4
            monitorexit
        11: athrow
        12: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
            ifnull 14
        13: .line 342
            return
        14: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 16
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 16
        15: .line 345
            return
        16: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_1
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 19
        17: .line 348
            aload 0 /* this */
            lload 1 /* time */
            aload 3 /* timeUnit */
            invokevirtual io.undertow.protocols.ssl.SslConduit.awaitWritable:(JLjava/util/concurrent/TimeUnit;)V
        18: .line 349
            return
        19: .line 351
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.source:Lorg/xnio/conduits/StreamSourceConduit;
            lload 1 /* time */
            aload 3 /* timeUnit */
            invokeinterface org.xnio.conduits.StreamSourceConduit.awaitReadable:(JLjava/util/concurrent/TimeUnit;)V
        20: .line 352
            return
        end local 3 // java.util.concurrent.TimeUnit timeUnit
        end local 1 // long time
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0      this  Lio/undertow/protocols/ssl/SslConduit;
            0   21     1      time  J
            0   21     3  timeUnit  Ljava/util/concurrent/TimeUnit;
      Exception table:
        from    to  target  type
           2     3       5  Class java.lang.InterruptedException
           1     4      10  any
           5     9      10  any
          10    11      10  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      time      
      timeUnit  

  public org.xnio.XnioIoThread getReadThread();
    descriptor: ()Lorg/xnio/XnioIoThread;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 356
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getIoThread:()Lorg/xnio/XnioIoThread;
            areturn
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/protocols/ssl/SslConduit;

  public void setReadReadyHandler(org.xnio.conduits.ReadReadyHandler);
    descriptor: (Lorg/xnio/conduits/ReadReadyHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // org.xnio.conduits.ReadReadyHandler handler
         0: .line 361
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getConduit:()Lorg/xnio/conduits/StreamSourceConduit;
            aload 0 /* this */
            new io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler
            dup
            aload 0 /* this */
            aload 1 /* handler */
            invokespecial io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler.<init>:(Lio/undertow/protocols/ssl/SslConduit;Lorg/xnio/conduits/ReadReadyHandler;)V
            dup_x1
            putfield io.undertow.protocols.ssl.SslConduit.readReadyHandler:Lio/undertow/protocols/ssl/SslConduit$SslReadReadyHandler;
            invokeinterface org.xnio.conduits.StreamSourceConduit.setReadReadyHandler:(Lorg/xnio/conduits/ReadReadyHandler;)V
         1: .line 362
            return
        end local 1 // org.xnio.conduits.ReadReadyHandler handler
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/undertow/protocols/ssl/SslConduit;
            0    2     1  handler  Lorg/xnio/conduits/ReadReadyHandler;
    MethodParameters:
         Name  Flags
      handler  

  public long transferFrom(java.nio.channels.FileChannel, long, long);
    descriptor: (Ljava/nio/channels/FileChannel;JJ)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=4
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // java.nio.channels.FileChannel src
        start local 2 // long position
        start local 4 // long count
         0: .line 366
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 64
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 367
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         2: .line 369
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            lload 2 /* position */
            lload 4 /* count */
            new org.xnio.conduits.ConduitWritableByteChannel
            dup
            aload 0 /* this */
            invokespecial org.xnio.conduits.ConduitWritableByteChannel.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
            invokevirtual java.nio.channels.FileChannel.transferTo:(JJLjava/nio/channels/WritableByteChannel;)J
            lreturn
        end local 4 // long count
        end local 2 // long position
        end local 1 // java.nio.channels.FileChannel src
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lio/undertow/protocols/ssl/SslConduit;
            0    3     1       src  Ljava/nio/channels/FileChannel;
            0    3     2  position  J
            0    3     4     count  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      src       
      position  
      count     

  public long transferFrom(org.xnio.channels.StreamSourceChannel, long, java.nio.ByteBuffer);
    descriptor: (Lorg/xnio/channels/StreamSourceChannel;JLjava/nio/ByteBuffer;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // org.xnio.channels.StreamSourceChannel source
        start local 2 // long count
        start local 4 // java.nio.ByteBuffer throughBuffer
         0: .line 374
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 64
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 375
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         2: .line 377
      StackMap locals:
      StackMap stack:
            aload 1 /* source */
            lload 2 /* count */
            aload 4 /* throughBuffer */
            new org.xnio.conduits.ConduitWritableByteChannel
            dup
            aload 0 /* this */
            invokespecial org.xnio.conduits.ConduitWritableByteChannel.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
            invokestatic org.xnio.IoUtils.transfer:(Ljava/nio/channels/ReadableByteChannel;JLjava/nio/ByteBuffer;Ljava/nio/channels/WritableByteChannel;)J
            lreturn
        end local 4 // java.nio.ByteBuffer throughBuffer
        end local 2 // long count
        end local 1 // org.xnio.channels.StreamSourceChannel source
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lio/undertow/protocols/ssl/SslConduit;
            0    3     1         source  Lorg/xnio/channels/StreamSourceChannel;
            0    3     2          count  J
            0    3     4  throughBuffer  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      source         
      count          
      throughBuffer  

  public int write(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // java.nio.ByteBuffer src
         0: .line 382
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 64
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 383
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         2: .line 385
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray java.nio.ByteBuffer
            dup
            iconst_0
            aload 1 /* src */
            aastore
            iconst_0
            iconst_1
            invokevirtual io.undertow.protocols.ssl.SslConduit.doWrap:([Ljava/nio/ByteBuffer;II)J
            l2i
            ireturn
        end local 1 // java.nio.ByteBuffer src
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/protocols/ssl/SslConduit;
            0    3     1   src  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      src   

  public long write(java.nio.ByteBuffer[], int, int);
    descriptor: ([Ljava/nio/ByteBuffer;II)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // java.nio.ByteBuffer[] srcs
        start local 2 // int offs
        start local 3 // int len
         0: .line 390
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 64
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 391
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         2: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* srcs */
            iload 2 /* offs */
            iload 3 /* len */
            invokevirtual io.undertow.protocols.ssl.SslConduit.doWrap:([Ljava/nio/ByteBuffer;II)J
            lreturn
        end local 3 // int len
        end local 2 // int offs
        end local 1 // java.nio.ByteBuffer[] srcs
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/protocols/ssl/SslConduit;
            0    3     1  srcs  [Ljava/nio/ByteBuffer;
            0    3     2  offs  I
            0    3     3   len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      srcs  
      offs  
      len   

  public int writeFinal(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // java.nio.ByteBuffer src
         0: .line 398
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 64
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 399
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         2: .line 401
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            invokestatic org.xnio.conduits.Conduits.writeFinalBasic:(Lorg/xnio/conduits/StreamSinkConduit;Ljava/nio/ByteBuffer;)I
            ireturn
        end local 1 // java.nio.ByteBuffer src
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/protocols/ssl/SslConduit;
            0    3     1   src  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      src   

  public long writeFinal(java.nio.ByteBuffer[], int, int);
    descriptor: ([Ljava/nio/ByteBuffer;II)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // java.nio.ByteBuffer[] srcs
        start local 2 // int offset
        start local 3 // int length
         0: .line 406
            aload 0 /* this */
            aload 1 /* srcs */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic org.xnio.conduits.Conduits.writeFinalBasic:(Lorg/xnio/conduits/StreamSinkConduit;[Ljava/nio/ByteBuffer;II)J
            lreturn
        end local 3 // int length
        end local 2 // int offset
        end local 1 // java.nio.ByteBuffer[] srcs
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/undertow/protocols/ssl/SslConduit;
            0    1     1    srcs  [Ljava/nio/ByteBuffer;
            0    1     2  offset  I
            0    1     3  length  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      srcs    
      offset  
      length  

  public void terminateWrites();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 411
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 64
            ior
            putfield io.undertow.protocols.ssl.SslConduit.state:I
         1: .line 412
            return
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/protocols/ssl/SslConduit;
    Exceptions:
      throws java.io.IOException

  public boolean isWriteShutdown();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 416
            iconst_0
            ireturn
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/protocols/ssl/SslConduit;

  public void resumeWrites();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 421
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 8
            ior
            putfield io.undertow.protocols.ssl.SslConduit.state:I
         1: .line 422
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_2
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 4
         2: .line 423
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.resumeReads:()V
         3: .line 424
            goto 5
         4: .line 425
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.resumeWrites:()V
         5: .line 427
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/undertow/protocols/ssl/SslConduit;

  public void suspendWrites();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 431
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush -9
            iand
            putfield io.undertow.protocols.ssl.SslConduit.state:I
         1: .line 432
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_5
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifne 3
         2: .line 433
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.suspendWrites:()V
         3: .line 435
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/undertow/protocols/ssl/SslConduit;

  public void wakeupWrites();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 439
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 8
            ior
            putfield io.undertow.protocols.ssl.SslConduit.state:I
         1: .line 440
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.getWriteThread:()Lorg/xnio/XnioIoThread;
            new io.undertow.protocols.ssl.SslConduit$4
            dup
            aload 0 /* this */
            invokespecial io.undertow.protocols.ssl.SslConduit$4.<init>:(Lio/undertow/protocols/ssl/SslConduit;)V
            invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
         2: .line 447
            return
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/protocols/ssl/SslConduit;

  public boolean isWriteResumed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 451
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ireturn
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/protocols/ssl/SslConduit;

  public void awaitWritable();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 456
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 64
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 457
            return
         2: .line 459
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
            ifle 15
         3: .line 460
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         4: .line 461
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
            ifle 11
         5: .line 463
            aload 0 /* this */
            invokevirtual java.lang.Object.wait:()V
         6: .line 464
            aload 1
            monitorexit
         7: return
         8: .line 465
      StackMap locals: io.undertow.protocols.ssl.SslConduit io.undertow.protocols.ssl.SslConduit
      StackMap stack: java.lang.InterruptedException
            pop
         9: .line 466
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        10: .line 467
            new java.io.InterruptedIOException
            dup
            invokespecial java.io.InterruptedIOException.<init>:()V
            athrow
        11: .line 460
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 1
            monitorexit
        14: athrow
        15: .line 472
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_2
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 18
        16: .line 473
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.awaitReadable:()V
        17: .line 474
            return
        18: .line 476
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.awaitWritable:()V
        19: .line 477
            return
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lio/undertow/protocols/ssl/SslConduit;
      Exception table:
        from    to  target  type
           5     6       8  Class java.lang.InterruptedException
           4     7      13  any
           8    12      13  any
          13    14      13  any
    Exceptions:
      throws java.io.IOException

  public void awaitWritable(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // long time
        start local 3 // java.util.concurrent.TimeUnit timeUnit
         0: .line 481
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 64
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 482
            return
         2: .line 484
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
            ifle 15
         3: .line 485
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         4: .line 486
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
            ifle 11
         5: .line 488
            aload 0 /* this */
            aload 3 /* timeUnit */
            lload 1 /* time */
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            invokevirtual java.lang.Object.wait:(J)V
         6: .line 489
            aload 4
            monitorexit
         7: return
         8: .line 490
      StackMap locals: io.undertow.protocols.ssl.SslConduit long java.util.concurrent.TimeUnit io.undertow.protocols.ssl.SslConduit
      StackMap stack: java.lang.InterruptedException
            pop
         9: .line 491
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        10: .line 492
            new java.io.InterruptedIOException
            dup
            invokespecial java.io.InterruptedIOException.<init>:()V
            athrow
        11: .line 485
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 4
            monitorexit
        14: athrow
        15: .line 497
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_2
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 18
        16: .line 498
            aload 0 /* this */
            lload 1 /* time */
            aload 3 /* timeUnit */
            invokevirtual io.undertow.protocols.ssl.SslConduit.awaitReadable:(JLjava/util/concurrent/TimeUnit;)V
        17: .line 499
            return
        18: .line 501
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.awaitWritable:()V
        19: .line 502
            return
        end local 3 // java.util.concurrent.TimeUnit timeUnit
        end local 1 // long time
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Lio/undertow/protocols/ssl/SslConduit;
            0   20     1      time  J
            0   20     3  timeUnit  Ljava/util/concurrent/TimeUnit;
      Exception table:
        from    to  target  type
           5     6       8  Class java.lang.InterruptedException
           4     7      13  any
           8    12      13  any
          13    14      13  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      time      
      timeUnit  

  public org.xnio.XnioIoThread getWriteThread();
    descriptor: ()Lorg/xnio/XnioIoThread;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 506
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getIoThread:()Lorg/xnio/XnioIoThread;
            areturn
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/protocols/ssl/SslConduit;

  public void setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler);
    descriptor: (Lorg/xnio/conduits/WriteReadyHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // org.xnio.conduits.WriteReadyHandler handler
         0: .line 511
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getConduit:()Lorg/xnio/conduits/StreamSinkConduit;
            aload 0 /* this */
            new io.undertow.protocols.ssl.SslConduit$SslWriteReadyHandler
            dup
            aload 0 /* this */
            aload 1 /* handler */
            invokespecial io.undertow.protocols.ssl.SslConduit$SslWriteReadyHandler.<init>:(Lio/undertow/protocols/ssl/SslConduit;Lorg/xnio/conduits/WriteReadyHandler;)V
            dup_x1
            putfield io.undertow.protocols.ssl.SslConduit.writeReadyHandler:Lio/undertow/protocols/ssl/SslConduit$SslWriteReadyHandler;
            invokeinterface org.xnio.conduits.StreamSinkConduit.setWriteReadyHandler:(Lorg/xnio/conduits/WriteReadyHandler;)V
         1: .line 512
            return
        end local 1 // org.xnio.conduits.WriteReadyHandler handler
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/undertow/protocols/ssl/SslConduit;
            0    2     1  handler  Lorg/xnio/conduits/WriteReadyHandler;
    MethodParameters:
         Name  Flags
      handler  

  public void truncateWrites();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 517
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.notifyWriteClosed:()V
         1: .line 518
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 1
         3: .line 519
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.close:()V
         4: .line 520
            aload 1
            athrow
         5: .line 519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.close:()V
         6: .line 521
            return
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/undertow/protocols/ssl/SslConduit;
      Exception table:
        from    to  target  type
           0     2       2  any
    Exceptions:
      throws java.io.IOException

  public boolean flush();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 525
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 512
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 526
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
            ireturn
         2: .line 528
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            ifnull 6
         3: .line 529
            aload 0 /* this */
            aconst_null
            iconst_0
            iconst_0
            invokevirtual io.undertow.protocols.ssl.SslConduit.doWrap:([Ljava/nio/ByteBuffer;II)J
            pop2
         4: .line 530
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            ifnull 6
         5: .line 531
            iconst_0
            ireturn
         6: .line 534
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 64
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 25
         7: .line 535
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 256
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 13
         8: .line 536
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 256
            ior
            putfield io.undertow.protocols.ssl.SslConduit.state:I
         9: .line 537
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.closeOutbound:()V
        10: .line 538
            aload 0 /* this */
            aconst_null
            iconst_0
            iconst_0
            invokevirtual io.undertow.protocols.ssl.SslConduit.doWrap:([Ljava/nio/ByteBuffer;II)J
            pop2
        11: .line 539
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            ifnull 17
        12: .line 540
            iconst_0
            ireturn
        13: .line 542
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            ifnull 17
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 512
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 17
        14: .line 543
            aload 0 /* this */
            aconst_null
            iconst_0
            iconst_0
            invokevirtual io.undertow.protocols.ssl.SslConduit.doWrap:([Ljava/nio/ByteBuffer;II)J
            pop2
        15: .line 544
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            ifnull 17
        16: .line 545
            iconst_0
            ireturn
        17: .line 548
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 512
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 21
        18: .line 549
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.terminateWrites:()V
        19: .line 550
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 512
            ior
            putfield io.undertow.protocols.ssl.SslConduit.state:I
        20: .line 551
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.notifyWriteClosed:()V
        21: .line 553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
            istore 1 /* result */
        start local 1 // boolean result
        22: .line 554
            iload 1 /* result */
            ifeq 24
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 16384
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 24
        23: .line 555
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.closed:()V
        24: .line 557
      StackMap locals: int
      StackMap stack:
            iload 1 /* result */
            ireturn
        end local 1 // boolean result
        25: .line 559
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
            ireturn
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   26     0    this  Lio/undertow/protocols/ssl/SslConduit;
           22   25     1  result  Z
    Exceptions:
      throws java.io.IOException

  public long transferTo(long, long, java.nio.channels.FileChannel);
    descriptor: (JJLjava/nio/channels/FileChannel;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // long position
        start local 3 // long count
        start local 5 // java.nio.channels.FileChannel target
         0: .line 564
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 32
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 565
            ldc -1
            lreturn
         2: .line 567
      StackMap locals:
      StackMap stack:
            aload 5 /* target */
            new org.xnio.conduits.ConduitReadableByteChannel
            dup
            aload 0 /* this */
            invokespecial org.xnio.conduits.ConduitReadableByteChannel.<init>:(Lorg/xnio/conduits/StreamSourceConduit;)V
            lload 1 /* position */
            lload 3 /* count */
            invokevirtual java.nio.channels.FileChannel.transferFrom:(Ljava/nio/channels/ReadableByteChannel;JJ)J
            lreturn
        end local 5 // java.nio.channels.FileChannel target
        end local 3 // long count
        end local 1 // long position
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lio/undertow/protocols/ssl/SslConduit;
            0    3     1  position  J
            0    3     3     count  J
            0    3     5    target  Ljava/nio/channels/FileChannel;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      position  
      count     
      target    

  public long transferTo(long, java.nio.ByteBuffer, org.xnio.channels.StreamSinkChannel);
    descriptor: (JLjava/nio/ByteBuffer;Lorg/xnio/channels/StreamSinkChannel;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // long count
        start local 3 // java.nio.ByteBuffer throughBuffer
        start local 4 // org.xnio.channels.StreamSinkChannel target
         0: .line 572
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 32
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 573
            ldc -1
            lreturn
         2: .line 575
      StackMap locals:
      StackMap stack:
            new org.xnio.conduits.ConduitReadableByteChannel
            dup
            aload 0 /* this */
            invokespecial org.xnio.conduits.ConduitReadableByteChannel.<init>:(Lorg/xnio/conduits/StreamSourceConduit;)V
            lload 1 /* count */
            aload 3 /* throughBuffer */
            aload 4 /* target */
            invokestatic org.xnio.IoUtils.transfer:(Ljava/nio/channels/ReadableByteChannel;JLjava/nio/ByteBuffer;Ljava/nio/channels/WritableByteChannel;)J
            lreturn
        end local 4 // org.xnio.channels.StreamSinkChannel target
        end local 3 // java.nio.ByteBuffer throughBuffer
        end local 1 // long count
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lio/undertow/protocols/ssl/SslConduit;
            0    3     1          count  J
            0    3     3  throughBuffer  Ljava/nio/ByteBuffer;
            0    3     4         target  Lorg/xnio/channels/StreamSinkChannel;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      count          
      throughBuffer  
      target         

  public int read(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // java.nio.ByteBuffer dst
         0: .line 580
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 32
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 581
            iconst_m1
            ireturn
         2: .line 583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray java.nio.ByteBuffer
            dup
            iconst_0
            aload 1 /* dst */
            aastore
            iconst_0
            iconst_1
            invokevirtual io.undertow.protocols.ssl.SslConduit.doUnwrap:([Ljava/nio/ByteBuffer;II)J
            l2i
            ireturn
        end local 1 // java.nio.ByteBuffer dst
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/protocols/ssl/SslConduit;
            0    3     1   dst  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      dst   

  public long read(java.nio.ByteBuffer[], int, int);
    descriptor: ([Ljava/nio/ByteBuffer;II)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // java.nio.ByteBuffer[] dsts
        start local 2 // int offs
        start local 3 // int len
         0: .line 588
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 32
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 589
            ldc -1
            lreturn
         2: .line 591
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* dsts */
            iload 2 /* offs */
            iload 3 /* len */
            invokevirtual io.undertow.protocols.ssl.SslConduit.doUnwrap:([Ljava/nio/ByteBuffer;II)J
            lreturn
        end local 3 // int len
        end local 2 // int offs
        end local 1 // java.nio.ByteBuffer[] dsts
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/protocols/ssl/SslConduit;
            0    3     1  dsts  [Ljava/nio/ByteBuffer;
            0    3     2  offs  I
            0    3     3   len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      dsts  
      offs  
      len   

  public org.xnio.XnioWorker getWorker();
    descriptor: ()Lorg/xnio/XnioWorker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 596
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getWorker:()Lorg/xnio/XnioWorker;
            areturn
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/protocols/ssl/SslConduit;

  void notifyWriteClosed();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 600
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 8192
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 601
            return
         2: .line 603
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.isWriteResumed:()Z
            ifeq 3
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 4096
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 1 /* runListener */
        start local 1 // boolean runListener
         5: .line 604
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.connection:Lio/undertow/protocols/ssl/UndertowSslConnection;
            invokevirtual io.undertow.protocols.ssl.UndertowSslConnection.writeClosed:()Z
            pop
         6: .line 605
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.closeOutbound:()V
         7: .line 606
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 8448
            ior
            putfield io.undertow.protocols.ssl.SslConduit.state:I
         8: .line 607
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 16384
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 10
         9: .line 608
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.closed:()V
        10: .line 610
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_1
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 12
        11: .line 611
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.notifyReadClosed:()V
        12: .line 613
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush -3
            iand
            putfield io.undertow.protocols.ssl.SslConduit.state:I
        13: .line 615
            iload 1 /* runListener */
            ifeq 15
        14: .line 616
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.runWriteListener:()V
        15: .line 618
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean runListener
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lio/undertow/protocols/ssl/SslConduit;
            5   16     1  runListener  Z

  void notifyReadClosed();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 621
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 16384
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 622
            return
         2: .line 624
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.isReadResumed:()Z
            ifeq 3
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 4096
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 1 /* runListener */
        start local 1 // boolean runListener
         5: .line 625
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.connection:Lio/undertow/protocols/ssl/UndertowSslConnection;
            invokevirtual io.undertow.protocols.ssl.UndertowSslConnection.readClosed:()Z
            pop
         6: .line 628
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.closeInbound:()V
         7: .line 629
            goto 12
      StackMap locals: io.undertow.protocols.ssl.SslConduit int
      StackMap stack: javax.net.ssl.SSLException
         8: astore 2 /* e */
        start local 2 // javax.net.ssl.SSLException e
         9: .line 630
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Exception closing read side of SSL channel"
            aload 2 /* e */
            invokeinterface io.undertow.UndertowLogger.trace:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        10: .line 631
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 8192
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 12
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.isWriteResumed:()Z
            ifeq 12
        11: .line 632
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.runWriteListener:()V
        end local 2 // javax.net.ssl.SSLException e
        12: .line 636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 16544
            ior
            putfield io.undertow.protocols.ssl.SslConduit.state:I
        13: .line 637
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 8192
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 15
        14: .line 638
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.closed:()V
        15: .line 640
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_2
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 17
        16: .line 641
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.notifyWriteClosed:()V
        17: .line 643
      StackMap locals:
      StackMap stack:
            iload 1 /* runListener */
            ifeq 19
        18: .line 644
            aload 0 /* this */
            iconst_0
            invokevirtual io.undertow.protocols.ssl.SslConduit.runReadListener:(Z)V
        19: .line 646
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean runListener
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   20     0         this  Lio/undertow/protocols/ssl/SslConduit;
            5   20     1  runListener  Z
            9   12     2            e  Ljavax/net/ssl/SSLException;
      Exception table:
        from    to  target  type
           6     7       8  Class javax.net.ssl.SSLException

  public void startHandshake();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 649
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_1
            ior
            putfield io.undertow.protocols.ssl.SslConduit.state:I
         1: .line 650
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.beginHandshake:()V
         2: .line 651
            return
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/protocols/ssl/SslConduit;
    Exceptions:
      throws javax.net.ssl.SSLException

  public javax.net.ssl.SSLSession getSslSession();
    descriptor: ()Ljavax/net/ssl/SSLSession;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 654
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
            areturn
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/protocols/ssl/SslConduit;

  private void doHandshake();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 664
            aload 0 /* this */
            aconst_null
            iconst_0
            iconst_0
            invokevirtual io.undertow.protocols.ssl.SslConduit.doUnwrap:([Ljava/nio/ByteBuffer;II)J
            pop2
         1: .line 665
            aload 0 /* this */
            aconst_null
            iconst_0
            iconst_0
            invokevirtual io.undertow.protocols.ssl.SslConduit.doWrap:([Ljava/nio/ByteBuffer;II)J
            pop2
         2: .line 666
            return
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/protocols/ssl/SslConduit;
    Exceptions:
      throws java.io.IOException

  private long doUnwrap(java.nio.ByteBuffer[], int, int);
    descriptor: ([Ljava/nio/ByteBuffer;II)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=17, args_size=4
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // java.nio.ByteBuffer[] userBuffers
        start local 2 // int off
        start local 3 // int len
         0: .line 680
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 4096
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 681
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         2: .line 683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
            ifle 4
         3: .line 684
            lconst_0
            lreturn
         4: .line 686
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_1
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 8
         5: .line 687
            aload 0 /* this */
            aconst_null
            iconst_0
            iconst_0
            invokevirtual io.undertow.protocols.ssl.SslConduit.doWrap:([Ljava/nio/ByteBuffer;II)J
            pop2
         6: .line 688
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_2
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 8
         7: .line 689
            lconst_0
            lreturn
         8: .line 692
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* bytesProduced */
        start local 4 // boolean bytesProduced
         9: .line 693
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
            astore 5 /* unwrappedData */
        start local 5 // io.undertow.connector.PooledByteBuffer unwrappedData
        10: .line 695
            aload 5 /* unwrappedData */
            ifnull 19
        11: .line 696
            aload 1 /* userBuffers */
            ifnull 19
        12: .line 697
            aload 1 /* userBuffers */
            iload 2 /* off */
            iload 3 /* len */
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokestatic org.xnio.Buffers.copy:([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)I
            i2l
            lstore 6 /* copied */
        start local 6 // long copied
        13: .line 698
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 16
        14: .line 699
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        15: .line 700
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
        16: .line 702
      StackMap locals: int io.undertow.connector.PooledByteBuffer long
      StackMap stack:
            lload 6 /* copied */
            lconst_0
            lcmp
            ifle 18
        17: .line 703
            aload 0 /* this */
            iconst_0
            putfield io.undertow.protocols.ssl.SslConduit.readListenerInvocationCount:I
        18: .line 705
      StackMap locals:
      StackMap stack:
            lload 6 /* copied */
            lreturn
        end local 6 // long copied
        19: .line 713
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 16
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 71
        20: .line 714
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            ifnonnull 22
        21: .line 715
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.bufferPool:Lio/undertow/connector/ByteBufferPool;
            invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
            putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
        22: .line 719
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.source:Lorg/xnio/conduits/StreamSourceConduit;
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokeinterface org.xnio.conduits.StreamSourceConduit.read:(Ljava/nio/ByteBuffer;)I
            istore 7 /* res */
        start local 7 // int res
        23: .line 720
            goto 28
        end local 7 // int res
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 8 /* e */
        start local 8 // java.lang.Throwable e
        25: .line 721
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        26: .line 722
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
        27: .line 723
            aload 8 /* e */
            athrow
        end local 8 // java.lang.Throwable e
        start local 7 // int res
        28: .line 725
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer top int
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        29: .line 726
            iload 7 /* res */
            iconst_m1
            if_icmpne 50
        30: .line 727
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        31: .line 728
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
        32: .line 729
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.notifyReadClosed:()V
        33: .line 851
            iconst_0
            istore 16 /* requiresListenerInvocation */
        start local 16 // boolean requiresListenerInvocation
        34: .line 853
            iload 4 /* bytesProduced */
            ifne 35
            aload 5 /* unwrappedData */
            ifnull 36
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.isOpen:()Z
            ifeq 36
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 36
        35: .line 854
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer top int top top top top top top top top int
      StackMap stack:
            iconst_1
            istore 16 /* requiresListenerInvocation */
        36: .line 856
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            ifnull 46
        37: .line 858
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 42
        38: .line 859
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        39: .line 860
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
        40: .line 861
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush -17
            iand
            putfield io.undertow.protocols.ssl.SslConduit.state:I
        41: .line 862
            goto 46
      StackMap locals:
      StackMap stack:
        42: aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 16
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 45
        43: .line 864
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
            pop
        44: .line 865
            goto 46
        45: .line 867
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 16 /* requiresListenerInvocation */
        46: .line 872
      StackMap locals:
      StackMap stack:
            iload 16 /* requiresListenerInvocation */
            ifeq 49
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_4
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 47
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 10
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 49
      StackMap locals:
      StackMap stack:
        47: aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.invokingReadListenerHandshake:Z
            ifne 49
        48: .line 873
            aload 0 /* this */
            iconst_0
            invokevirtual io.undertow.protocols.ssl.SslConduit.runReadListener:(Z)V
        end local 16 // boolean requiresListenerInvocation
        49: .line 730
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer top int
      StackMap stack:
            ldc -1
            lreturn
        50: .line 731
      StackMap locals:
      StackMap stack:
            iload 7 /* res */
            ifne 71
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            if_acmpne 71
        51: .line 734
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 54
        52: .line 735
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        53: .line 736
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
        54: .line 851
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 16 /* requiresListenerInvocation */
        start local 16 // boolean requiresListenerInvocation
        55: .line 853
            iload 4 /* bytesProduced */
            ifne 56
            aload 5 /* unwrappedData */
            ifnull 57
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.isOpen:()Z
            ifeq 57
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 57
        56: .line 854
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer top int top top top top top top top top int
      StackMap stack:
            iconst_1
            istore 16 /* requiresListenerInvocation */
        57: .line 856
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            ifnull 67
        58: .line 858
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 63
        59: .line 859
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        60: .line 860
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
        61: .line 861
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush -17
            iand
            putfield io.undertow.protocols.ssl.SslConduit.state:I
        62: .line 862
            goto 67
      StackMap locals:
      StackMap stack:
        63: aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 16
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 66
        64: .line 864
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
            pop
        65: .line 865
            goto 67
        66: .line 867
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 16 /* requiresListenerInvocation */
        67: .line 872
      StackMap locals:
      StackMap stack:
            iload 16 /* requiresListenerInvocation */
            ifeq 70
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_4
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 68
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 10
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 70
      StackMap locals:
      StackMap stack:
        68: aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.invokingReadListenerHandshake:Z
            ifne 70
        69: .line 873
            aload 0 /* this */
            iconst_0
            invokevirtual io.undertow.protocols.ssl.SslConduit.runReadListener:(Z)V
        end local 16 // boolean requiresListenerInvocation
        70: .line 738
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer top int
      StackMap stack:
            lconst_0
            lreturn
        end local 7 // int res
        71: .line 741
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 6 /* dataToUnwrapLength */
        start local 6 // int dataToUnwrapLength
        72: .line 743
            lconst_0
            lstore 7 /* original */
        start local 7 // long original
        73: .line 744
            aload 1 /* userBuffers */
            ifnull 75
        74: .line 745
            aload 1 /* userBuffers */
            invokestatic org.xnio.Buffers.remaining:([Ljava/nio/Buffer;)J
            lstore 7 /* original */
        75: .line 751
      StackMap locals: int long
      StackMap stack:
            iconst_0
            istore 10 /* unwrapBufferUsed */
        start local 10 // boolean unwrapBufferUsed
        76: .line 753
            aload 1 /* userBuffers */
            ifnull 89
        77: .line 754
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            aload 1 /* userBuffers */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual javax.net.ssl.SSLEngine.unwrap:(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
            astore 9 /* result */
        start local 9 // javax.net.ssl.SSLEngineResult result
        78: .line 755
            aload 9 /* result */
            invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
            getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
            if_acmpne 85
        79: .line 758
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.bufferPool:Lio/undertow/connector/ByteBufferPool;
            invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
            astore 5 /* unwrappedData */
        80: .line 759
            iload 3 /* len */
            iconst_1
            iadd
            anewarray java.nio.ByteBuffer
            astore 11 /* d */
        start local 11 // java.nio.ByteBuffer[] d
        81: .line 760
            aload 1 /* userBuffers */
            iload 2 /* off */
            aload 11 /* d */
            iconst_0
            iload 3 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        82: .line 761
            aload 11 /* d */
            iload 3 /* len */
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            aastore
        83: .line 762
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            aload 11 /* d */
            invokevirtual javax.net.ssl.SSLEngine.unwrap:(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
            astore 9 /* result */
        84: .line 763
            iconst_1
            istore 10 /* unwrapBufferUsed */
        end local 11 // java.nio.ByteBuffer[] d
        85: .line 765
      StackMap locals: javax.net.ssl.SSLEngineResult int
      StackMap stack:
            aload 9 /* result */
            invokevirtual javax.net.ssl.SSLEngineResult.bytesProduced:()I
            ifle 86
            iconst_1
            goto 87
      StackMap locals:
      StackMap stack:
        86: iconst_0
      StackMap locals:
      StackMap stack: int
        87: istore 4 /* bytesProduced */
        88: .line 766
            goto 107
        end local 9 // javax.net.ssl.SSLEngineResult result
        89: .line 767
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long top int
      StackMap stack:
            iconst_1
            istore 10 /* unwrapBufferUsed */
        90: .line 768
            aload 5 /* unwrappedData */
            ifnonnull 93
        91: .line 769
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.bufferPool:Lio/undertow/connector/ByteBufferPool;
            invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
            astore 5 /* unwrappedData */
        92: .line 770
            goto 94
        93: .line 771
      StackMap locals:
      StackMap stack:
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
            pop
        94: .line 773
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual javax.net.ssl.SSLEngine.unwrap:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
            astore 9 /* result */
        start local 9 // javax.net.ssl.SSLEngineResult result
        95: .line 774
            aload 9 /* result */
            invokevirtual javax.net.ssl.SSLEngineResult.bytesProduced:()I
            ifle 96
            iconst_1
            goto 97
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long javax.net.ssl.SSLEngineResult int
      StackMap stack:
        96: iconst_0
      StackMap locals:
      StackMap stack: int
        97: istore 4 /* bytesProduced */
        98: .line 776
            goto 107
        end local 9 // javax.net.ssl.SSLEngineResult result
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long top int
      StackMap stack: java.lang.Throwable
        99: astore 12
       100: .line 777
            iload 10 /* unwrapBufferUsed */
            ifeq 105
       101: .line 778
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
       102: .line 779
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 105
       103: .line 780
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
       104: .line 781
            aconst_null
            astore 5 /* unwrappedData */
       105: .line 784
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long top int top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            aload 5 /* unwrappedData */
            putfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
       106: .line 785
            aload 12
            athrow
        start local 9 // javax.net.ssl.SSLEngineResult result
       107: .line 777
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long javax.net.ssl.SSLEngineResult int
      StackMap stack:
            iload 10 /* unwrapBufferUsed */
            ifeq 112
       108: .line 778
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
       109: .line 779
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 112
       110: .line 780
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
       111: .line 781
            aconst_null
            astore 5 /* unwrappedData */
       112: .line 784
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* unwrappedData */
            putfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
       113: .line 787
            aload 9 /* result */
            invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
            getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
            if_acmpne 135
       114: .line 788
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            ifnull 117
       115: .line 789
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
       116: .line 790
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
       117: .line 792
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.notifyReadClosed:()V
       118: .line 851
            iconst_0
            istore 16 /* requiresListenerInvocation */
        start local 16 // boolean requiresListenerInvocation
       119: .line 853
            iload 4 /* bytesProduced */
            ifne 120
            aload 5 /* unwrappedData */
            ifnull 121
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.isOpen:()Z
            ifeq 121
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 121
       120: .line 854
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long javax.net.ssl.SSLEngineResult int top top top top top int
      StackMap stack:
            iconst_1
            istore 16 /* requiresListenerInvocation */
       121: .line 856
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            ifnull 131
       122: .line 858
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 127
       123: .line 859
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
       124: .line 860
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
       125: .line 861
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush -17
            iand
            putfield io.undertow.protocols.ssl.SslConduit.state:I
       126: .line 862
            goto 131
      StackMap locals:
      StackMap stack:
       127: aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 16
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 130
       128: .line 864
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
            pop
       129: .line 865
            goto 131
       130: .line 867
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 16 /* requiresListenerInvocation */
       131: .line 872
      StackMap locals:
      StackMap stack:
            iload 16 /* requiresListenerInvocation */
            ifeq 134
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_4
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 132
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 10
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 134
      StackMap locals:
      StackMap stack:
       132: aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.invokingReadListenerHandshake:Z
            ifne 134
       133: .line 873
            aload 0 /* this */
            iconst_0
            invokevirtual io.undertow.protocols.ssl.SslConduit.runReadListener:(Z)V
        end local 16 // boolean requiresListenerInvocation
       134: .line 793
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long javax.net.ssl.SSLEngineResult int
      StackMap stack:
            ldc -1
            lreturn
       135: .line 795
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* result */
            invokevirtual io.undertow.protocols.ssl.SslConduit.handleHandshakeResult:(Ljavax/net/ssl/SSLEngineResult;)Z
            ifne 159
       136: .line 796
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 141
       137: .line 797
            aload 9 /* result */
            invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
            getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_UNDERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
            if_acmpeq 141
       138: .line 798
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 6 /* dataToUnwrapLength */
            if_icmpeq 141
       139: .line 799
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 16
            ior
            putfield io.undertow.protocols.ssl.SslConduit.state:I
       140: .line 800
            goto 142
       141: .line 801
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush -17
            iand
            putfield io.undertow.protocols.ssl.SslConduit.state:I
       142: .line 851
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 16 /* requiresListenerInvocation */
        start local 16 // boolean requiresListenerInvocation
       143: .line 853
            iload 4 /* bytesProduced */
            ifne 144
            aload 5 /* unwrappedData */
            ifnull 145
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.isOpen:()Z
            ifeq 145
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 145
       144: .line 854
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long javax.net.ssl.SSLEngineResult int top top top top top int
      StackMap stack:
            iconst_1
            istore 16 /* requiresListenerInvocation */
       145: .line 856
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            ifnull 155
       146: .line 858
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 151
       147: .line 859
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
       148: .line 860
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
       149: .line 861
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush -17
            iand
            putfield io.undertow.protocols.ssl.SslConduit.state:I
       150: .line 862
            goto 155
      StackMap locals:
      StackMap stack:
       151: aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 16
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 154
       152: .line 864
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
            pop
       153: .line 865
            goto 155
       154: .line 867
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 16 /* requiresListenerInvocation */
       155: .line 872
      StackMap locals:
      StackMap stack:
            iload 16 /* requiresListenerInvocation */
            ifeq 158
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_4
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 156
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 10
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 158
      StackMap locals:
      StackMap stack:
       156: aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.invokingReadListenerHandshake:Z
            ifne 158
       157: .line 873
            aload 0 /* this */
            iconst_0
            invokevirtual io.undertow.protocols.ssl.SslConduit.runReadListener:(Z)V
        end local 16 // boolean requiresListenerInvocation
       158: .line 803
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long javax.net.ssl.SSLEngineResult int
      StackMap stack:
            lconst_0
            lreturn
       159: .line 805
      StackMap locals:
      StackMap stack:
            aload 9 /* result */
            invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
            getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_UNDERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
            if_acmpne 162
       160: .line 806
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush -17
            iand
            putfield io.undertow.protocols.ssl.SslConduit.state:I
       161: .line 807
            goto 170
      StackMap locals:
      StackMap stack:
       162: aload 9 /* result */
            invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
            getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
            if_acmpne 166
       163: .line 808
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            aload 0 /* this */
            invokeinterface io.undertow.UndertowLogger.sslBufferOverflow:(Lio/undertow/protocols/ssl/SslConduit;)V
       164: .line 809
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
       165: .line 810
            goto 170
      StackMap locals:
      StackMap stack:
       166: aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 169
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 6 /* dataToUnwrapLength */
            if_icmpeq 169
       167: .line 811
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 16
            ior
            putfield io.undertow.protocols.ssl.SslConduit.state:I
       168: .line 812
            goto 170
       169: .line 813
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush -17
            iand
            putfield io.undertow.protocols.ssl.SslConduit.state:I
       170: .line 815
      StackMap locals:
      StackMap stack:
            aload 1 /* userBuffers */
            ifnonnull 188
       171: .line 851
            iconst_0
            istore 16 /* requiresListenerInvocation */
        start local 16 // boolean requiresListenerInvocation
       172: .line 853
            iload 4 /* bytesProduced */
            ifne 173
            aload 5 /* unwrappedData */
            ifnull 174
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.isOpen:()Z
            ifeq 174
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 174
       173: .line 854
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long javax.net.ssl.SSLEngineResult int top top top top top int
      StackMap stack:
            iconst_1
            istore 16 /* requiresListenerInvocation */
       174: .line 856
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            ifnull 184
       175: .line 858
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 180
       176: .line 859
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
       177: .line 860
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
       178: .line 861
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush -17
            iand
            putfield io.undertow.protocols.ssl.SslConduit.state:I
       179: .line 862
            goto 184
      StackMap locals:
      StackMap stack:
       180: aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 16
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 183
       181: .line 864
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
            pop
       182: .line 865
            goto 184
       183: .line 867
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 16 /* requiresListenerInvocation */
       184: .line 872
      StackMap locals:
      StackMap stack:
            iload 16 /* requiresListenerInvocation */
            ifeq 187
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_4
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 185
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 10
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 187
      StackMap locals:
      StackMap stack:
       185: aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.invokingReadListenerHandshake:Z
            ifne 187
       186: .line 873
            aload 0 /* this */
            iconst_0
            invokevirtual io.undertow.protocols.ssl.SslConduit.runReadListener:(Z)V
        end local 16 // boolean requiresListenerInvocation
       187: .line 816
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long javax.net.ssl.SSLEngineResult int
      StackMap stack:
            lconst_0
            lreturn
       188: .line 818
      StackMap locals:
      StackMap stack:
            lload 7 /* original */
            aload 1 /* userBuffers */
            invokestatic org.xnio.Buffers.remaining:([Ljava/nio/Buffer;)J
            lsub
            lstore 11 /* res */
        start local 11 // long res
       189: .line 819
            lload 11 /* res */
            lconst_0
            lcmp
            ifle 191
       190: .line 821
            aload 0 /* this */
            iconst_0
            putfield io.undertow.protocols.ssl.SslConduit.readListenerInvocationCount:I
       191: .line 823
      StackMap locals: long
      StackMap stack:
            lload 11 /* res */
            lstore 14
       192: .line 851
            iconst_0
            istore 16 /* requiresListenerInvocation */
        start local 16 // boolean requiresListenerInvocation
       193: .line 853
            iload 4 /* bytesProduced */
            ifne 194
            aload 5 /* unwrappedData */
            ifnull 195
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.isOpen:()Z
            ifeq 195
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 195
       194: .line 854
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long javax.net.ssl.SSLEngineResult int long top long int
      StackMap stack:
            iconst_1
            istore 16 /* requiresListenerInvocation */
       195: .line 856
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            ifnull 205
       196: .line 858
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 201
       197: .line 859
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
       198: .line 860
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
       199: .line 861
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush -17
            iand
            putfield io.undertow.protocols.ssl.SslConduit.state:I
       200: .line 862
            goto 205
      StackMap locals:
      StackMap stack:
       201: aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 16
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 204
       202: .line 864
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
            pop
       203: .line 865
            goto 205
       204: .line 867
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 16 /* requiresListenerInvocation */
       205: .line 872
      StackMap locals:
      StackMap stack:
            iload 16 /* requiresListenerInvocation */
            ifeq 208
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_4
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 206
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 10
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 208
      StackMap locals:
      StackMap stack:
       206: aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.invokingReadListenerHandshake:Z
            ifne 208
       207: .line 873
            aload 0 /* this */
            iconst_0
            invokevirtual io.undertow.protocols.ssl.SslConduit.runReadListener:(Z)V
        end local 16 // boolean requiresListenerInvocation
       208: .line 823
      StackMap locals:
      StackMap stack:
            lload 14
            lreturn
        end local 11 // long res
        end local 10 // boolean unwrapBufferUsed
        end local 9 // javax.net.ssl.SSLEngineResult result
        end local 7 // long original
        end local 6 // int dataToUnwrapLength
       209: .line 825
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer
      StackMap stack: javax.net.ssl.SSLException
            astore 6 /* e */
        start local 6 // javax.net.ssl.SSLException e
       210: .line 830
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.clearWriteRequiresRead:()V
       211: .line 831
            aload 0 /* this */
            aconst_null
            iconst_0
            iconst_0
            invokevirtual io.undertow.protocols.ssl.SslConduit.doWrap:([Ljava/nio/ByteBuffer;II)J
            pop2
       212: .line 832
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.flush:()Z
            pop
       213: .line 833
            goto 216
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer javax.net.ssl.SSLException
      StackMap stack: java.lang.Exception
       214: astore 7 /* e2 */
        start local 7 // java.lang.Exception e2
       215: .line 834
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Failed to write out final SSL record"
            aload 7 /* e2 */
            invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 7 // java.lang.Exception e2
       216: .line 836
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.close:()V
       217: .line 837
            goto 220
      StackMap locals:
      StackMap stack: java.lang.Throwable
       218: astore 7 /* ex */
        start local 7 // java.lang.Throwable ex
       219: .line 839
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Exception closing SSLConduit after exception in doUnwrap"
            aload 7 /* ex */
            invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 7 // java.lang.Throwable ex
       220: .line 841
      StackMap locals:
      StackMap stack:
            aload 6 /* e */
            athrow
        end local 6 // javax.net.ssl.SSLException e
       221: .line 842
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer
      StackMap stack: java.lang.Throwable
            astore 6 /* e */
        start local 6 // java.lang.Throwable e
       222: .line 844
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.close:()V
       223: .line 845
            goto 226
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer java.lang.Throwable
      StackMap stack: java.lang.Throwable
       224: astore 7 /* ex */
        start local 7 // java.lang.Throwable ex
       225: .line 847
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Exception closing SSLConduit after exception in doUnwrap"
            aload 7 /* ex */
            invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 7 // java.lang.Throwable ex
       226: .line 849
      StackMap locals:
      StackMap stack:
            aload 6 /* e */
            athrow
        end local 6 // java.lang.Throwable e
       227: .line 850
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer
      StackMap stack: java.lang.Throwable
            astore 13
       228: .line 851
            iconst_0
            istore 16 /* requiresListenerInvocation */
        start local 16 // boolean requiresListenerInvocation
       229: .line 853
            iload 4 /* bytesProduced */
            ifne 230
            aload 5 /* unwrappedData */
            ifnull 231
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.isOpen:()Z
            ifeq 231
            aload 5 /* unwrappedData */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 231
       230: .line 854
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer top top top top top top top java.lang.Throwable top top int
      StackMap stack:
            iconst_1
            istore 16 /* requiresListenerInvocation */
       231: .line 856
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            ifnull 241
       232: .line 858
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 237
       233: .line 859
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
       234: .line 860
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
       235: .line 861
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush -17
            iand
            putfield io.undertow.protocols.ssl.SslConduit.state:I
       236: .line 862
            goto 241
      StackMap locals:
      StackMap stack:
       237: aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 16
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 240
       238: .line 864
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
            pop
       239: .line 865
            goto 241
       240: .line 867
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 16 /* requiresListenerInvocation */
       241: .line 872
      StackMap locals:
      StackMap stack:
            iload 16 /* requiresListenerInvocation */
            ifeq 244
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_4
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 242
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 10
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 244
      StackMap locals:
      StackMap stack:
       242: aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.invokingReadListenerHandshake:Z
            ifne 244
       243: .line 873
            aload 0 /* this */
            iconst_0
            invokevirtual io.undertow.protocols.ssl.SslConduit.runReadListener:(Z)V
        end local 16 // boolean requiresListenerInvocation
       244: .line 875
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 13
            athrow
        end local 5 // io.undertow.connector.PooledByteBuffer unwrappedData
        end local 4 // boolean bytesProduced
        end local 3 // int len
        end local 2 // int off
        end local 1 // java.nio.ByteBuffer[] userBuffers
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0  245     0                        this  Lio/undertow/protocols/ssl/SslConduit;
            0  245     1                 userBuffers  [Ljava/nio/ByteBuffer;
            0  245     2                         off  I
            0  245     3                         len  I
            9  245     4               bytesProduced  Z
           10  245     5               unwrappedData  Lio/undertow/connector/PooledByteBuffer;
           13   19     6                      copied  J
           72  209     6          dataToUnwrapLength  I
           23   24     7                         res  I
           28   71     7                         res  I
           25   28     8                           e  Ljava/lang/Throwable;
           73  209     7                    original  J
           78   89     9                      result  Ljavax/net/ssl/SSLEngineResult;
           95   99     9                      result  Ljavax/net/ssl/SSLEngineResult;
          107  209     9                      result  Ljavax/net/ssl/SSLEngineResult;
           76  209    10            unwrapBufferUsed  Z
           81   85    11                           d  [Ljava/nio/ByteBuffer;
          189  209    11                         res  J
          210  221     6                           e  Ljavax/net/ssl/SSLException;
          215  216     7                          e2  Ljava/lang/Exception;
          219  220     7                          ex  Ljava/lang/Throwable;
          222  227     6                           e  Ljava/lang/Throwable;
          225  226     7                          ex  Ljava/lang/Throwable;
           34   49    16  requiresListenerInvocation  Z
           55   70    16  requiresListenerInvocation  Z
          119  134    16  requiresListenerInvocation  Z
          143  158    16  requiresListenerInvocation  Z
          172  187    16  requiresListenerInvocation  Z
          193  208    16  requiresListenerInvocation  Z
          229  244    16  requiresListenerInvocation  Z
      Exception table:
        from    to  target  type
          22    23      24  Class java.io.IOException
          22    23      24  Class java.lang.RuntimeException
          22    23      24  Class java.lang.Error
          76    99      99  any
          19    33     209  Class javax.net.ssl.SSLException
          50    54     209  Class javax.net.ssl.SSLException
          71   118     209  Class javax.net.ssl.SSLException
         135   142     209  Class javax.net.ssl.SSLException
         159   171     209  Class javax.net.ssl.SSLException
         188   192     209  Class javax.net.ssl.SSLException
         210   213     214  Class java.lang.Exception
         210   217     218  Class java.lang.Throwable
          19    33     221  Class java.lang.RuntimeException
          50    54     221  Class java.lang.RuntimeException
          71   118     221  Class java.lang.RuntimeException
         135   142     221  Class java.lang.RuntimeException
         159   171     221  Class java.lang.RuntimeException
         188   192     221  Class java.lang.RuntimeException
          19    33     221  Class java.io.IOException
          50    54     221  Class java.io.IOException
          71   118     221  Class java.io.IOException
         135   142     221  Class java.io.IOException
         159   171     221  Class java.io.IOException
         188   192     221  Class java.io.IOException
          19    33     221  Class java.lang.Error
          50    54     221  Class java.lang.Error
          71   118     221  Class java.lang.Error
         135   142     221  Class java.lang.Error
         159   171     221  Class java.lang.Error
         188   192     221  Class java.lang.Error
         222   223     224  Class java.lang.Throwable
          19    33     227  any
          50    54     227  any
          71   118     227  any
         135   142     227  any
         159   171     227  any
         188   192     227  any
         209   227     227  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      userBuffers  
      off          
      len          

  private long doWrap(java.nio.ByteBuffer[], int, int);
    descriptor: ([Ljava/nio/ByteBuffer;II)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // java.nio.ByteBuffer[] userBuffers
        start local 2 // int off
        start local 3 // int len
         0: .line 891
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 4096
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 892
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         2: .line 894
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
            ifle 4
         3: .line 895
            lconst_0
            lreturn
         4: .line 897
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_2
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 8
         5: .line 898
            aload 0 /* this */
            aconst_null
            iconst_0
            iconst_0
            invokevirtual io.undertow.protocols.ssl.SslConduit.doUnwrap:([Ljava/nio/ByteBuffer;II)J
            pop2
         6: .line 899
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_1
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 8
         7: .line 900
            lconst_0
            lreturn
         8: .line 903
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            ifnull 14
         9: .line 904
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
            istore 4 /* res */
        start local 4 // int res
        10: .line 905
            iload 4 /* res */
            ifeq 11
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 12
        11: .line 906
      StackMap locals: int
      StackMap stack:
            lconst_0
            lreturn
        12: .line 908
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        end local 4 // int res
        13: .line 909
            goto 15
        14: .line 910
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.bufferPool:Lio/undertow/connector/ByteBufferPool;
            invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
            putfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
        15: .line 913
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* userBuffers */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual io.undertow.protocols.ssl.SslConduit.wrapAndFlip:([Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
            astore 4 /* result */
        start local 4 // javax.net.ssl.SSLEngineResult result
        16: .line 915
            aload 4 /* result */
            invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
            getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_UNDERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
            if_acmpne 18
        17: .line 916
            new java.io.IOException
            dup
            ldc "underflow"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 917
      StackMap locals: javax.net.ssl.SSLEngineResult
      StackMap stack:
            aload 4 /* result */
            invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
            getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
            if_acmpne 34
        19: .line 919
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 34
        20: .line 920
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.capacity:()I
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
            invokeinterface javax.net.ssl.SSLSession.getPacketBufferSize:()I
            if_icmpge 33
        21: .line 921
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        22: .line 922
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
            invokeinterface javax.net.ssl.SSLSession.getPacketBufferSize:()I
            istore 5 /* bufferSize */
        start local 5 // int bufferSize
        23: .line 923
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
        24: .line 924
            ldc "Expanded buffer enabled due to overflow with empty buffer, buffer size is %s"
            iload 5 /* bufferSize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        25: .line 923
            invokeinterface io.undertow.UndertowLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;)V
        26: .line 925
            getstatic io.undertow.protocols.ssl.SslConduit.expandedBufferPool:Lio/undertow/connector/ByteBufferPool;
            ifnull 27
            getstatic io.undertow.protocols.ssl.SslConduit.expandedBufferPool:Lio/undertow/connector/ByteBufferPool;
            invokeinterface io.undertow.connector.ByteBufferPool.getBufferSize:()I
            iload 5 /* bufferSize */
            if_icmpge 28
        27: .line 926
      StackMap locals: int
      StackMap stack:
            new io.undertow.server.DefaultByteBufferPool
            dup
            iconst_0
            iload 5 /* bufferSize */
            iconst_m1
            bipush 12
            invokespecial io.undertow.server.DefaultByteBufferPool.<init>:(ZIII)V
            putstatic io.undertow.protocols.ssl.SslConduit.expandedBufferPool:Lio/undertow/connector/ByteBufferPool;
        28: .line 927
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic io.undertow.protocols.ssl.SslConduit.expandedBufferPool:Lio/undertow/connector/ByteBufferPool;
            invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
            putfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
        29: .line 928
            aload 0 /* this */
            aload 1 /* userBuffers */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual io.undertow.protocols.ssl.SslConduit.wrapAndFlip:([Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
            astore 4 /* result */
        30: .line 929
            aload 4 /* result */
            invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
            getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
            if_acmpne 34
        31: .line 930
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 34
        32: .line 931
            new java.io.IOException
            dup
            ldc "overflow"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // int bufferSize
        33: .line 933
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "overflow"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 938
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 36
        35: .line 939
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
            pop
        36: .line 942
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 43
        37: .line 943
            aload 4 /* result */
            invokevirtual javax.net.ssl.SSLEngineResult.bytesConsumed:()I
            i2l
            lstore 7
        38: .line 964
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            ifnull 42
        39: .line 965
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 42
        40: .line 966
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        41: .line 967
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
        42: .line 943
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int javax.net.ssl.SSLEngineResult top top long
      StackMap stack:
            lload 7
            lreturn
        43: .line 946
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int javax.net.ssl.SSLEngineResult
      StackMap stack:
            aload 0 /* this */
            aload 4 /* result */
            invokevirtual io.undertow.protocols.ssl.SslConduit.handleHandshakeResult:(Ljavax/net/ssl/SSLEngineResult;)Z
            ifne 49
        44: .line 964
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            ifnull 48
        45: .line 965
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 48
        46: .line 966
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        47: .line 967
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
        48: .line 947
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
        49: .line 949
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
            getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
            if_acmpne 52
            aload 1 /* userBuffers */
            ifnull 52
        50: .line 950
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.notifyWriteClosed:()V
        51: .line 951
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
        52: .line 954
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            invokevirtual javax.net.ssl.SSLEngineResult.bytesConsumed:()I
            i2l
            lstore 7
        53: .line 964
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            ifnull 57
        54: .line 965
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 57
        55: .line 966
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        56: .line 967
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
        57: .line 954
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int javax.net.ssl.SSLEngineResult top top long
      StackMap stack:
            lload 7
            lreturn
        end local 4 // javax.net.ssl.SSLEngineResult result
        58: .line 955
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int
      StackMap stack: java.lang.Throwable
            astore 4 /* e */
        start local 4 // java.lang.Throwable e
        59: .line 957
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.close:()V
        60: .line 958
            goto 63
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int java.lang.Throwable
      StackMap stack: java.lang.Throwable
        61: astore 5 /* ex */
        start local 5 // java.lang.Throwable ex
        62: .line 959
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Exception closing SSLConduit after exception in doWrap()"
            aload 5 /* ex */
            invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 5 // java.lang.Throwable ex
        63: .line 961
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            athrow
        end local 4 // java.lang.Throwable e
        64: .line 962
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int
      StackMap stack: java.lang.Throwable
            astore 6
        65: .line 964
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            ifnull 69
        66: .line 965
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 69
        67: .line 966
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        68: .line 967
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
        69: .line 970
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int top top java.lang.Throwable
      StackMap stack:
            aload 6
            athrow
        end local 3 // int len
        end local 2 // int off
        end local 1 // java.nio.ByteBuffer[] userBuffers
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   70     0         this  Lio/undertow/protocols/ssl/SslConduit;
            0   70     1  userBuffers  [Ljava/nio/ByteBuffer;
            0   70     2          off  I
            0   70     3          len  I
           10   13     4          res  I
           16   58     4       result  Ljavax/net/ssl/SSLEngineResult;
           23   33     5   bufferSize  I
           59   64     4            e  Ljava/lang/Throwable;
           62   63     5           ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          15    38      58  Class java.lang.RuntimeException
          43    44      58  Class java.lang.RuntimeException
          49    53      58  Class java.lang.RuntimeException
          15    38      58  Class java.io.IOException
          43    44      58  Class java.io.IOException
          49    53      58  Class java.io.IOException
          15    38      58  Class java.lang.Error
          43    44      58  Class java.lang.Error
          49    53      58  Class java.lang.Error
          59    60      61  Class java.lang.Throwable
          15    38      64  any
          43    44      64  any
          49    53      64  any
          58    64      64  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      userBuffers  
      off          
      len          

  private javax.net.ssl.SSLEngineResult wrapAndFlip(java.nio.ByteBuffer[], int, int);
    descriptor: ([Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // java.nio.ByteBuffer[] userBuffers
        start local 2 // int off
        start local 3 // int len
         0: .line 974
            aconst_null
            astore 4 /* result */
        start local 4 // javax.net.ssl.SSLEngineResult result
         1: .line 975
            goto 6
         2: .line 976
      StackMap locals: javax.net.ssl.SSLEngineResult
      StackMap stack:
            aload 1 /* userBuffers */
            ifnonnull 5
         3: .line 977
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
            getstatic io.undertow.protocols.ssl.SslConduit.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual javax.net.ssl.SSLEngine.wrap:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
            astore 4 /* result */
         4: .line 978
            goto 6
         5: .line 979
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
            aload 1 /* userBuffers */
            iload 2 /* off */
            iload 3 /* len */
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual javax.net.ssl.SSLEngine.wrap:([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
            astore 4 /* result */
         6: .line 975
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            ifnull 2
            aload 4 /* result */
            invokevirtual javax.net.ssl.SSLEngineResult.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_WRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            if_acmpne 7
            aload 4 /* result */
            invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
            getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
            if_acmpne 2
         7: .line 982
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
         8: .line 983
            aload 4 /* result */
            areturn
        end local 4 // javax.net.ssl.SSLEngineResult result
        end local 3 // int len
        end local 2 // int off
        end local 1 // java.nio.ByteBuffer[] userBuffers
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lio/undertow/protocols/ssl/SslConduit;
            0    9     1  userBuffers  [Ljava/nio/ByteBuffer;
            0    9     2          off  I
            0    9     3          len  I
            1    9     4       result  Ljavax/net/ssl/SSLEngineResult;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      userBuffers  
      off          
      len          

  private boolean handleHandshakeResult(javax.net.ssl.SSLEngineResult);
    descriptor: (Ljavax/net/ssl/SSLEngineResult;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // javax.net.ssl.SSLEngineResult result
         0: .line 987
            invokestatic io.undertow.protocols.ssl.SslConduit.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:()[I
            aload 1 /* result */
            invokevirtual javax.net.ssl.SSLEngineResult.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
            iaload
            tableswitch { // 2 - 5
                    2: 18
                    3: 1
                    4: 12
                    5: 6
              default: 21
          }
         1: .line 989
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 2048
            ior
            putfield io.undertow.protocols.ssl.SslConduit.state:I
         2: .line 990
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.clearReadRequiresWrite:()V
         3: .line 991
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.clearWriteRequiresRead:()V
         4: .line 992
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.runTasks:()V
         5: .line 993
            iconst_0
            ireturn
         6: .line 996
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.clearReadRequiresWrite:()V
         7: .line 997
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 2050
            ior
            putfield io.undertow.protocols.ssl.SslConduit.state:I
         8: .line 998
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.suspendWrites:()V
         9: .line 999
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 11
        10: .line 1000
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.source:Lorg/xnio/conduits/StreamSourceConduit;
            invokeinterface org.xnio.conduits.StreamSourceConduit.resumeReads:()V
        11: .line 1003
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        12: .line 1006
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.clearWriteRequiresRead:()V
        13: .line 1007
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 2049
            ior
            putfield io.undertow.protocols.ssl.SslConduit.state:I
        14: .line 1008
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.source:Lorg/xnio/conduits/StreamSourceConduit;
            invokeinterface org.xnio.conduits.StreamSourceConduit.suspendReads:()V
        15: .line 1009
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_4
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 17
        16: .line 1010
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
        17: .line 1012
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        18: .line 1015
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 2048
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 21
        19: .line 1016
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush -2049
            iand
            putfield io.undertow.protocols.ssl.SslConduit.state:I
        20: .line 1017
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.handshakeCallback:Ljava/lang/Runnable;
            invokeinterface java.lang.Runnable.run:()V
        21: .line 1021
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.clearReadRequiresWrite:()V
        22: .line 1022
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.clearWriteRequiresRead:()V
        23: .line 1023
            iconst_1
            ireturn
        end local 1 // javax.net.ssl.SSLEngineResult result
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   24     0    this  Lio/undertow/protocols/ssl/SslConduit;
            0   24     1  result  Ljavax/net/ssl/SSLEngineResult;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      result  

  private void clearReadRequiresWrite();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 1027
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_1
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 6
         1: .line 1028
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush -2
            iand
            putfield io.undertow.protocols.ssl.SslConduit.state:I
         2: .line 1029
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_4
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 4
         3: .line 1030
            aload 0 /* this */
            iconst_0
            invokevirtual io.undertow.protocols.ssl.SslConduit.resumeReads:(Z)V
         4: .line 1032
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 6
         5: .line 1033
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.suspendWrites:()V
         6: .line 1036
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/undertow/protocols/ssl/SslConduit;

  private void clearWriteRequiresRead();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 1039
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_2
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 6
         1: .line 1040
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush -3
            iand
            putfield io.undertow.protocols.ssl.SslConduit.state:I
         2: .line 1041
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 4
         3: .line 1042
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.wakeupWrites:()V
         4: .line 1044
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            iconst_4
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 6
         5: .line 1045
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.source:Lorg/xnio/conduits/StreamSourceConduit;
            invokeinterface org.xnio.conduits.StreamSourceConduit.suspendReads:()V
         6: .line 1048
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/undertow/protocols/ssl/SslConduit;

  private void closed();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 1051
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 4096
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 1052
            return
         2: .line 1054
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 5728
            ior
            putfield io.undertow.protocols.ssl.SslConduit.state:I
         3: .line 1055
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.notifyReadClosed:()V
         4: .line 1056
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.notifyWriteClosed:()V
         5: .line 1057
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            ifnull 8
         6: .line 1058
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
         7: .line 1059
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
         8: .line 1061
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
            ifnull 11
         9: .line 1062
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        10: .line 1063
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
        11: .line 1065
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            ifnull 14
        12: .line 1066
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        13: .line 1067
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
        14: .line 1069
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 256
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 16
        15: .line 1070
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.closeOutbound:()V
        16: .line 1072
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            sipush 128
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 24
        17: .line 1074
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.closeInbound:()V
        18: .line 1075
            goto 24
      StackMap locals:
      StackMap stack: javax.net.ssl.SSLException
        19: astore 1 /* e */
        start local 1 // javax.net.ssl.SSLException e
        20: .line 1076
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            aload 1 /* e */
            invokeinterface io.undertow.UndertowLogger.ioException:(Ljava/io/IOException;)V
        end local 1 // javax.net.ssl.SSLException e
        21: goto 24
        22: .line 1077
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* t */
        start local 1 // java.lang.Throwable t
        23: .line 1078
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            aload 1 /* t */
            invokeinterface io.undertow.UndertowLogger.handleUnexpectedFailure:(Ljava/lang/Throwable;)V
        end local 1 // java.lang.Throwable t
        24: .line 1081
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
        25: .line 1082
            return
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   26     0  this  Lio/undertow/protocols/ssl/SslConduit;
           20   21     1     e  Ljavax/net/ssl/SSLException;
           23   24     1     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          17    18      19  Class javax.net.ssl.SSLException
          17    18      22  Class java.lang.Throwable

  private void runTasks();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 1091
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.suspendWrites:()V
         1: .line 1092
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.suspendReads:()V
         2: .line 1093
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* tasks */
        start local 1 // java.util.List tasks
         3: .line 1094
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.getDelegatedTask:()Ljava/lang/Runnable;
            astore 2 /* t */
        start local 2 // java.lang.Runnable t
         4: .line 1095
            goto 7
         5: .line 1096
      StackMap locals: java.util.List java.lang.Runnable
      StackMap stack:
            aload 1 /* tasks */
            aload 2 /* t */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 1097
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.getDelegatedTask:()Ljava/lang/Runnable;
            astore 2 /* t */
         7: .line 1095
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            ifnonnull 5
         8: .line 1100
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         9: .line 1101
            aload 0 /* this */
            dup
            getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
            aload 1 /* tasks */
            invokeinterface java.util.List.size:()I
            iadd
            putfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
        10: .line 1102
            aload 1 /* tasks */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 13
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.util.List java.lang.Runnable io.undertow.protocols.ssl.SslConduit top java.util.Iterator
      StackMap stack:
        11: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Runnable
            astore 4 /* task */
        start local 4 // java.lang.Runnable task
        12: .line 1103
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.getWorker:()Lorg/xnio/XnioWorker;
            new io.undertow.protocols.ssl.SslConduit$5
            dup
            aload 0 /* this */
            aload 4 /* task */
            invokespecial io.undertow.protocols.ssl.SslConduit$5.<init>:(Lio/undertow/protocols/ssl/SslConduit;Ljava/lang/Runnable;)V
            invokevirtual org.xnio.XnioWorker.execute:(Ljava/lang/Runnable;)V
        end local 4 // java.lang.Runnable task
        13: .line 1102
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        14: .line 1100
            aload 3
            monitorexit
        15: goto 18
      StackMap locals: io.undertow.protocols.ssl.SslConduit java.util.List java.lang.Runnable io.undertow.protocols.ssl.SslConduit
      StackMap stack: java.lang.Throwable
        16: aload 3
            monitorexit
        17: athrow
        18: .line 1143
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Runnable t
        end local 1 // java.util.List tasks
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0   this  Lio/undertow/protocols/ssl/SslConduit;
            3   19     1  tasks  Ljava/util/List<Ljava/lang/Runnable;>;
            4   19     2      t  Ljava/lang/Runnable;
           12   13     4   task  Ljava/lang/Runnable;
      Exception table:
        from    to  target  type
           9    15      16  any
          16    17      16  any

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

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 1153
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ssl.SslConduit.closed:()V
         1: .line 1154
            return
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/protocols/ssl/SslConduit;

  public void setSslEngine(javax.net.ssl.SSLEngine);
    descriptor: (Ljavax/net/ssl/SSLEngine;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.protocols.ssl.SslConduit this
        start local 1 // javax.net.ssl.SSLEngine engine
         0: .line 1318
            aload 0 /* this */
            aload 1 /* engine */
            putfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
         1: .line 1319
            return
        end local 1 // javax.net.ssl.SSLEngine engine
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/undertow/protocols/ssl/SslConduit;
            0    2     1  engine  Ljavax/net/ssl/SSLEngine;
    MethodParameters:
        Name  Flags
      engine  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ssl.SslConduit this
         0: .line 1323
            new java.lang.StringBuilder
            dup
            ldc "SslConduit{state="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 1324
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.state:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         2: .line 1325
            ldc ", outstandingTasks="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         3: .line 1326
            ldc ", wrappedData="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         4: .line 1327
            ldc ", dataToUnwrap="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         5: .line 1328
            ldc ", unwrappedData="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         6: .line 1329
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         7: .line 1323
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // io.undertow.protocols.ssl.SslConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lio/undertow/protocols/ssl/SslConduit;

  static int[] $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 68
            getstatic io.undertow.protocols.ssl.SslConduit.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic javax.net.ssl.SSLEngineResult$HandshakeStatus.values:()[Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_TASK:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
            iconst_5
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_WRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
            iconst_1
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic io.undertow.protocols.ssl.SslConduit.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
}
SourceFile: "SslConduit.java"
NestMembers:
  io.undertow.protocols.ssl.SslConduit$1  io.undertow.protocols.ssl.SslConduit$2  io.undertow.protocols.ssl.SslConduit$3  io.undertow.protocols.ssl.SslConduit$4  io.undertow.protocols.ssl.SslConduit$5  io.undertow.protocols.ssl.SslConduit$5$1  io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler  io.undertow.protocols.ssl.SslConduit$SslWriteReadyHandler
InnerClasses:
  io.undertow.protocols.ssl.SslConduit$1
  io.undertow.protocols.ssl.SslConduit$2
  io.undertow.protocols.ssl.SslConduit$3
  io.undertow.protocols.ssl.SslConduit$4
  io.undertow.protocols.ssl.SslConduit$5
  private SslReadReadyHandler = io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler of io.undertow.protocols.ssl.SslConduit
  private SslWriteReadyHandler = io.undertow.protocols.ssl.SslConduit$SslWriteReadyHandler of io.undertow.protocols.ssl.SslConduit
  public final HandshakeStatus = javax.net.ssl.SSLEngineResult$HandshakeStatus of javax.net.ssl.SSLEngineResult
  public final Status = javax.net.ssl.SSLEngineResult$Status of javax.net.ssl.SSLEngineResult