public class org.xnio.channels.AssembledSslChannel extends org.xnio.channels.AssembledConnectedChannel implements org.xnio.channels.SslChannel
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.xnio.channels.AssembledSslChannel
  super_class: org.xnio.channels.AssembledConnectedChannel
{
  private final org.xnio.channels.SslChannel sslChannel;
    descriptor: Lorg/xnio/channels/SslChannel;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.xnio.ChannelListener$Setter<org.xnio.channels.AssembledSslChannel> handshakeSetter;
    descriptor: Lorg/xnio/ChannelListener$Setter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/xnio/ChannelListener$Setter<Lorg/xnio/channels/AssembledSslChannel;>;

  public void <init>(org.xnio.channels.SuspendableReadChannel, org.xnio.channels.SuspendableWriteChannel);
    descriptor: (Lorg/xnio/channels/SuspendableReadChannel;Lorg/xnio/channels/SuspendableWriteChannel;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.xnio.channels.AssembledSslChannel this
        start local 1 // org.xnio.channels.SuspendableReadChannel readChannel
        start local 2 // org.xnio.channels.SuspendableWriteChannel writeChannel
         0: .line 48
            aload 0 /* this */
            aload 1 /* readChannel */
            aload 2 /* writeChannel */
            invokespecial org.xnio.channels.AssembledConnectedChannel.<init>:(Lorg/xnio/channels/SuspendableReadChannel;Lorg/xnio/channels/SuspendableWriteChannel;)V
         1: .line 49
            aload 1 /* readChannel */
            instanceof org.xnio.channels.SslChannel
            ifeq 4
         2: .line 50
            aload 0 /* this */
            aload 1 /* readChannel */
            checkcast org.xnio.channels.SslChannel
            putfield org.xnio.channels.AssembledSslChannel.sslChannel:Lorg/xnio/channels/SslChannel;
         3: .line 51
            goto 8
      StackMap locals: org.xnio.channels.AssembledSslChannel org.xnio.channels.SuspendableReadChannel org.xnio.channels.SuspendableWriteChannel
      StackMap stack:
         4: aload 2 /* writeChannel */
            instanceof org.xnio.channels.SslChannel
            ifeq 7
         5: .line 52
            aload 0 /* this */
            aload 2 /* writeChannel */
            checkcast org.xnio.channels.SslChannel
            putfield org.xnio.channels.AssembledSslChannel.sslChannel:Lorg/xnio/channels/SslChannel;
         6: .line 53
            goto 8
         7: .line 54
      StackMap locals:
      StackMap stack:
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            invokeinterface org.xnio._private.Messages.oneChannelMustBeSSL:()Ljava/lang/IllegalArgumentException;
            athrow
         8: .line 56
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.xnio.channels.AssembledSslChannel.sslChannel:Lorg/xnio/channels/SslChannel;
            invokeinterface org.xnio.channels.SslChannel.getHandshakeSetter:()Lorg/xnio/ChannelListener$Setter;
            aload 0 /* this */
            invokestatic org.xnio.ChannelListeners.getDelegatingSetter:(Lorg/xnio/ChannelListener$Setter;Ljava/nio/channels/Channel;)Lorg/xnio/ChannelListener$Setter;
            putfield org.xnio.channels.AssembledSslChannel.handshakeSetter:Lorg/xnio/ChannelListener$Setter;
         9: .line 57
            return
        end local 2 // org.xnio.channels.SuspendableWriteChannel writeChannel
        end local 1 // org.xnio.channels.SuspendableReadChannel readChannel
        end local 0 // org.xnio.channels.AssembledSslChannel this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/xnio/channels/AssembledSslChannel;
            0   10     1   readChannel  Lorg/xnio/channels/SuspendableReadChannel;
            0   10     2  writeChannel  Lorg/xnio/channels/SuspendableWriteChannel;
    MethodParameters:
              Name  Flags
      readChannel   final
      writeChannel  final

  public void startHandshake();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.channels.AssembledSslChannel this
         0: .line 60
            aload 0 /* this */
            getfield org.xnio.channels.AssembledSslChannel.sslChannel:Lorg/xnio/channels/SslChannel;
            invokeinterface org.xnio.channels.SslChannel.startHandshake:()V
         1: .line 61
            return
        end local 0 // org.xnio.channels.AssembledSslChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/xnio/channels/AssembledSslChannel;
    Exceptions:
      throws java.io.IOException

  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 // org.xnio.channels.AssembledSslChannel this
         0: .line 64
            aload 0 /* this */
            getfield org.xnio.channels.AssembledSslChannel.sslChannel:Lorg/xnio/channels/SslChannel;
            invokeinterface org.xnio.channels.SslChannel.getSslSession:()Ljavax/net/ssl/SSLSession;
            areturn
        end local 0 // org.xnio.channels.AssembledSslChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/xnio/channels/AssembledSslChannel;

  public org.xnio.ChannelListener$Setter<? extends org.xnio.channels.AssembledSslChannel> getHandshakeSetter();
    descriptor: ()Lorg/xnio/ChannelListener$Setter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.channels.AssembledSslChannel this
         0: .line 68
            aload 0 /* this */
            getfield org.xnio.channels.AssembledSslChannel.handshakeSetter:Lorg/xnio/ChannelListener$Setter;
            areturn
        end local 0 // org.xnio.channels.AssembledSslChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/xnio/channels/AssembledSslChannel;
    Signature: ()Lorg/xnio/ChannelListener$Setter<+Lorg/xnio/channels/AssembledSslChannel;>;

  public org.xnio.ChannelListener$Setter<? extends org.xnio.channels.AssembledSslChannel> getCloseSetter();
    descriptor: ()Lorg/xnio/ChannelListener$Setter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.channels.AssembledSslChannel this
         0: .line 73
            aload 0 /* this */
            invokespecial org.xnio.channels.AssembledConnectedChannel.getCloseSetter:()Lorg/xnio/ChannelListener$Setter;
            areturn
        end local 0 // org.xnio.channels.AssembledSslChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/xnio/channels/AssembledSslChannel;
    Signature: ()Lorg/xnio/ChannelListener$Setter<+Lorg/xnio/channels/AssembledSslChannel;>;
}
SourceFile: "AssembledSslChannel.java"
InnerClasses:
  public abstract Setter = org.xnio.ChannelListener$Setter of org.xnio.ChannelListener