public final class sun.security.ssl.SSLEngineImpl extends javax.net.ssl.SSLEngine
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.security.ssl.SSLEngineImpl
  super_class: javax.net.ssl.SSLEngine
{
  private int connectionState;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

  sun.security.ssl.EngineWriter writer;
    descriptor: Lsun/security/ssl/EngineWriter;
    flags: (0x0000) 

  private sun.security.ssl.SSLContextImpl sslContext;
    descriptor: Lsun/security/ssl/SSLContextImpl;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.ssl.Handshaker handshaker;
    descriptor: Lsun/security/ssl/Handshaker;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.ssl.SSLSessionImpl sess;
    descriptor: Lsun/security/ssl/SSLSessionImpl;
    flags: (0x0002) ACC_PRIVATE

  private volatile sun.security.ssl.SSLSessionImpl handshakeSession;
    descriptor: Lsun/security/ssl/SSLSessionImpl;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static final byte clauth_none;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final byte clauth_requested;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final byte clauth_required;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

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

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

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

  private byte doClientAuth;
    descriptor: B
    flags: (0x0002) ACC_PRIVATE

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

  sun.security.ssl.EngineInputRecord inputRecord;
    descriptor: Lsun/security/ssl/EngineInputRecord;
    flags: (0x0000) 

  sun.security.ssl.EngineOutputRecord outputRecord;
    descriptor: Lsun/security/ssl/EngineOutputRecord;
    flags: (0x0000) 

  private java.security.AccessControlContext acc;
    descriptor: Ljava/security/AccessControlContext;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.ssl.CipherSuiteList enabledCipherSuites;
    descriptor: Lsun/security/ssl/CipherSuiteList;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String identificationProtocol;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.security.AlgorithmConstraints algorithmConstraints;
    descriptor: Ljava/security/AlgorithmConstraints;
    flags: (0x0002) ACC_PRIVATE

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

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

  private sun.security.ssl.ProtocolList enabledProtocols;
    descriptor: Lsun/security/ssl/ProtocolList;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.ssl.ProtocolVersion protocolVersion;
    descriptor: Lsun/security/ssl/ProtocolVersion;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.ssl.MAC readMAC;
    descriptor: Lsun/security/ssl/MAC;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.ssl.MAC writeMAC;
    descriptor: Lsun/security/ssl/MAC;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.ssl.CipherBox readCipher;
    descriptor: Lsun/security/ssl/CipherBox;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.ssl.CipherBox writeCipher;
    descriptor: Lsun/security/ssl/CipherBox;
    flags: (0x0002) ACC_PRIVATE

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

  private byte[] clientVerifyData;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private byte[] serverVerifyData;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object wrapLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object unwrapLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  java.lang.Object writeLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0000) 

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

  private static final sun.security.ssl.Debug debug;
    descriptor: Lsun/security/ssl/Debug;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 110
            ldc Lsun/security/ssl/SSLEngineImpl;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic sun.security.ssl.SSLEngineImpl.$assertionsDisabled:Z
         3: .line 319
            ldc "ssl"
            invokestatic sun.security.ssl.Debug.getInstance:(Ljava/lang/String;)Lsun/security/ssl/Debug;
            putstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(sun.security.ssl.SSLContextImpl);
    descriptor: (Lsun/security/ssl/SSLContextImpl;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // sun.security.ssl.SSLContextImpl ctx
         0: .line 331
            aload 0 /* this */
            invokespecial javax.net.ssl.SSLEngine.<init>:()V
         1: .line 180
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
         2: .line 242
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.SSLEngineImpl.enableSessionCreation:Z
         3: .line 251
            aload 0 /* this */
            aconst_null
            putfield sun.security.ssl.SSLEngineImpl.identificationProtocol:Ljava/lang/String;
         4: .line 254
            aload 0 /* this */
            aconst_null
            putfield sun.security.ssl.SSLEngineImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
         5: .line 257
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.SSLEngineImpl.serverModeSet:Z
         6: .line 272
            aload 0 /* this */
            getstatic sun.security.ssl.ProtocolVersion.DEFAULT:Lsun/security/ssl/ProtocolVersion;
            putfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
         7: .line 314
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.SSLEngineImpl.isFirstAppOutputRecord:Z
         8: .line 332
            aload 0 /* this */
            aload 1 /* ctx */
            invokevirtual sun.security.ssl.SSLEngineImpl.init:(Lsun/security/ssl/SSLContextImpl;)V
         9: .line 333
            return
        end local 1 // sun.security.ssl.SSLContextImpl ctx
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/security/ssl/SSLEngineImpl;
            0   10     1   ctx  Lsun/security/ssl/SSLContextImpl;
    MethodParameters:
      Name  Flags
      ctx   

  void <init>(sun.security.ssl.SSLContextImpl, java.lang.String, int);
    descriptor: (Lsun/security/ssl/SSLContextImpl;Ljava/lang/String;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // sun.security.ssl.SSLContextImpl ctx
        start local 2 // java.lang.String host
        start local 3 // int port
         0: .line 339
            aload 0 /* this */
            aload 2 /* host */
            iload 3 /* port */
            invokespecial javax.net.ssl.SSLEngine.<init>:(Ljava/lang/String;I)V
         1: .line 180
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
         2: .line 242
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.SSLEngineImpl.enableSessionCreation:Z
         3: .line 251
            aload 0 /* this */
            aconst_null
            putfield sun.security.ssl.SSLEngineImpl.identificationProtocol:Ljava/lang/String;
         4: .line 254
            aload 0 /* this */
            aconst_null
            putfield sun.security.ssl.SSLEngineImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
         5: .line 257
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.SSLEngineImpl.serverModeSet:Z
         6: .line 272
            aload 0 /* this */
            getstatic sun.security.ssl.ProtocolVersion.DEFAULT:Lsun/security/ssl/ProtocolVersion;
            putfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
         7: .line 314
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.SSLEngineImpl.isFirstAppOutputRecord:Z
         8: .line 340
            aload 0 /* this */
            aload 1 /* ctx */
            invokevirtual sun.security.ssl.SSLEngineImpl.init:(Lsun/security/ssl/SSLContextImpl;)V
         9: .line 341
            return
        end local 3 // int port
        end local 2 // java.lang.String host
        end local 1 // sun.security.ssl.SSLContextImpl ctx
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/security/ssl/SSLEngineImpl;
            0   10     1   ctx  Lsun/security/ssl/SSLContextImpl;
            0   10     2  host  Ljava/lang/String;
            0   10     3  port  I
    MethodParameters:
      Name  Flags
      ctx   
      host  
      port  

  private void init(sun.security.ssl.SSLContextImpl);
    descriptor: (Lsun/security/ssl/SSLContextImpl;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // sun.security.ssl.SSLContextImpl ctx
         0: .line 347
            getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
            ifnull 2
            ldc "ssl"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 348
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Using SSLEngineImpl."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 351
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ctx */
            putfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
         3: .line 352
            aload 0 /* this */
            new sun.security.ssl.SSLSessionImpl
            dup
            invokespecial sun.security.ssl.SSLSessionImpl.<init>:()V
            putfield sun.security.ssl.SSLEngineImpl.sess:Lsun/security/ssl/SSLSessionImpl;
         4: .line 353
            aload 0 /* this */
            aconst_null
            putfield sun.security.ssl.SSLEngineImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
         5: .line 361
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
         6: .line 362
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.SSLEngineImpl.connectionState:I
         7: .line 369
            aload 0 /* this */
            getstatic sun.security.ssl.CipherBox.NULL:Lsun/security/ssl/CipherBox;
            putfield sun.security.ssl.SSLEngineImpl.readCipher:Lsun/security/ssl/CipherBox;
         8: .line 370
            aload 0 /* this */
            getstatic sun.security.ssl.MAC.NULL:Lsun/security/ssl/MAC;
            putfield sun.security.ssl.SSLEngineImpl.readMAC:Lsun/security/ssl/MAC;
         9: .line 371
            aload 0 /* this */
            getstatic sun.security.ssl.CipherBox.NULL:Lsun/security/ssl/CipherBox;
            putfield sun.security.ssl.SSLEngineImpl.writeCipher:Lsun/security/ssl/CipherBox;
        10: .line 372
            aload 0 /* this */
            getstatic sun.security.ssl.MAC.NULL:Lsun/security/ssl/MAC;
            putfield sun.security.ssl.SSLEngineImpl.writeMAC:Lsun/security/ssl/MAC;
        11: .line 375
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.SSLEngineImpl.secureRenegotiation:Z
        12: .line 376
            aload 0 /* this */
            iconst_0
            newarray 8
            putfield sun.security.ssl.SSLEngineImpl.clientVerifyData:[B
        13: .line 377
            aload 0 /* this */
            iconst_0
            newarray 8
            putfield sun.security.ssl.SSLEngineImpl.serverVerifyData:[B
        14: .line 379
            aload 0 /* this */
        15: .line 380
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
            invokevirtual sun.security.ssl.SSLContextImpl.getDefaultCipherSuiteList:(Z)Lsun/security/ssl/CipherSuiteList;
        16: .line 379
            putfield sun.security.ssl.SSLEngineImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
        17: .line 381
            aload 0 /* this */
        18: .line 382
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
            invokevirtual sun.security.ssl.SSLContextImpl.getDefaultProtocolList:(Z)Lsun/security/ssl/ProtocolList;
        19: .line 381
            putfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
        20: .line 384
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.security.ssl.SSLEngineImpl.wrapLock:Ljava/lang/Object;
        21: .line 385
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.security.ssl.SSLEngineImpl.unwrapLock:Ljava/lang/Object;
        22: .line 386
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.security.ssl.SSLEngineImpl.writeLock:Ljava/lang/Object;
        23: .line 394
            aload 0 /* this */
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
            putfield sun.security.ssl.SSLEngineImpl.acc:Ljava/security/AccessControlContext;
        24: .line 402
            aload 0 /* this */
        25: .line 403
            new sun.security.ssl.EngineOutputRecord
            dup
            bipush 23
            aload 0 /* this */
            invokespecial sun.security.ssl.EngineOutputRecord.<init>:(BLsun/security/ssl/SSLEngineImpl;)V
        26: .line 402
            putfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/EngineOutputRecord;
        27: .line 404
            aload 0 /* this */
            new sun.security.ssl.EngineInputRecord
            dup
            aload 0 /* this */
            invokespecial sun.security.ssl.EngineInputRecord.<init>:(Lsun/security/ssl/SSLEngineImpl;)V
            putfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
        28: .line 405
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
            invokevirtual sun.security.ssl.EngineInputRecord.enableFormatChecks:()V
        29: .line 407
            aload 0 /* this */
            new sun.security.ssl.EngineWriter
            dup
            invokespecial sun.security.ssl.EngineWriter.<init>:()V
            putfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
        30: .line 408
            return
        end local 1 // sun.security.ssl.SSLContextImpl ctx
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   31     0  this  Lsun/security/ssl/SSLEngineImpl;
            0   31     1   ctx  Lsun/security/ssl/SSLContextImpl;
    MethodParameters:
      Name  Flags
      ctx   

  private void initHandshaker();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 427
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            tableswitch { // 0 - 3
                    0: 1
                    1: 2
                    2: 1
                    3: 2
              default: 3
          }
         1: .line 434
      StackMap locals:
      StackMap stack:
            goto 4
         2: .line 441
      StackMap locals:
      StackMap stack:
            return
         3: .line 448
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Internal error"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 452
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            ifne 7
         5: .line 453
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.SSLEngineImpl.connectionState:I
         6: .line 454
            goto 8
         7: .line 455
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            putfield sun.security.ssl.SSLEngineImpl.connectionState:I
         8: .line 457
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
            ifeq 17
         9: .line 458
            aload 0 /* this */
        10: new sun.security.ssl.ServerHandshaker
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
        11: .line 459
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.doClientAuth:B
        12: .line 460
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_1
            if_icmpne 13
            iconst_1
            goto 14
      StackMap locals: sun.security.ssl.SSLEngineImpl
      StackMap stack: sun.security.ssl.SSLEngineImpl new 10 new 10 sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList int sun.security.ssl.ProtocolVersion
        13: iconst_0
        14: .line 461
      StackMap locals: sun.security.ssl.SSLEngineImpl
      StackMap stack: sun.security.ssl.SSLEngineImpl new 10 new 10 sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList int sun.security.ssl.ProtocolVersion int
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.secureRenegotiation:Z
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.clientVerifyData:[B
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.serverVerifyData:[B
            invokespecial sun.security.ssl.ServerHandshaker.<init>:(Lsun/security/ssl/SSLEngineImpl;Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/ProtocolList;BLsun/security/ssl/ProtocolVersion;ZZ[B[B)V
        15: .line 458
            putfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
        16: .line 462
            goto 24
        17: .line 463
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        18: new sun.security.ssl.ClientHandshaker
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
        19: .line 464
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
        20: .line 465
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_1
            if_icmpne 21
            iconst_1
            goto 22
      StackMap locals: sun.security.ssl.SSLEngineImpl
      StackMap stack: sun.security.ssl.SSLEngineImpl new 18 new 18 sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ProtocolVersion
        21: iconst_0
        22: .line 466
      StackMap locals: sun.security.ssl.SSLEngineImpl
      StackMap stack: sun.security.ssl.SSLEngineImpl new 18 new 18 sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ProtocolVersion int
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.secureRenegotiation:Z
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.clientVerifyData:[B
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.serverVerifyData:[B
            invokespecial sun.security.ssl.ClientHandshaker.<init>:(Lsun/security/ssl/SSLEngineImpl;Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/ProtocolList;Lsun/security/ssl/ProtocolVersion;ZZ[B[B)V
        23: .line 463
            putfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
        24: .line 468
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
            invokevirtual sun.security.ssl.Handshaker.setEnabledCipherSuites:(Lsun/security/ssl/CipherSuiteList;)V
        25: .line 469
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.enableSessionCreation:Z
            invokevirtual sun.security.ssl.Handshaker.setEnableSessionCreation:(Z)V
        26: .line 470
            return
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   27     0  this  Lsun/security/ssl/SSLEngineImpl;

  private javax.net.ssl.SSLEngineResult$HandshakeStatus getHSStatus(javax.net.ssl.SSLEngineResult$HandshakeStatus);
    descriptor: (Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // javax.net.ssl.SSLEngineResult$HandshakeStatus hss
         0: .line 477
            aload 1 /* hss */
            ifnull 2
         1: .line 478
            aload 1 /* hss */
            areturn
         2: .line 481
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         3: .line 482
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
            invokevirtual sun.security.ssl.EngineWriter.hasOutboundData:()Z
            ifeq 6
         4: .line 483
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_WRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            aload 2
            monitorexit
         5: areturn
         6: .line 484
      StackMap locals: sun.security.ssl.SSLEngineImpl
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            ifnull 12
         7: .line 485
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.taskOutstanding:()Z
            ifeq 10
         8: .line 486
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_TASK:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            aload 2
            monitorexit
         9: areturn
        10: .line 488
      StackMap locals:
      StackMap stack:
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            aload 2
            monitorexit
        11: areturn
        12: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            bipush 6
            if_icmpne 16
        13: .line 499
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.isInboundDone:()Z
            ifne 16
        14: .line 500
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            aload 2
            monitorexit
        15: areturn
        16: .line 503
      StackMap locals:
      StackMap stack:
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            aload 2
            monitorexit
        17: areturn
        18: .line 481
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
        19: athrow
        end local 1 // javax.net.ssl.SSLEngineResult$HandshakeStatus hss
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lsun/security/ssl/SSLEngineImpl;
            0   20     1   hss  Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
      Exception table:
        from    to  target  type
           3     5      18  any
           6     9      18  any
          10    11      18  any
          12    15      18  any
          16    17      18  any
          18    19      18  any
    MethodParameters:
      Name  Flags
      hss   

  private synchronized void checkTaskThrown();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 508
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            ifnull 2
         1: .line 509
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.checkThrown:()V
         2: .line 511
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/ssl/SSLEngineImpl;
    Exceptions:
      throws javax.net.ssl.SSLException

  private synchronized int getConnectionState();
    descriptor: ()I
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 522
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            ireturn
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLEngineImpl;

  private synchronized void setConnectionState(int);
    descriptor: (I)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // int state
         0: .line 526
            aload 0 /* this */
            iload 1 /* state */
            putfield sun.security.ssl.SSLEngineImpl.connectionState:I
         1: .line 527
            return
        end local 1 // int state
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/security/ssl/SSLEngineImpl;
            0    2     1  state  I
    MethodParameters:
       Name  Flags
      state  

  java.security.AccessControlContext getAcc();
    descriptor: ()Ljava/security/AccessControlContext;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 537
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.acc:Ljava/security/AccessControlContext;
            areturn
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLEngineImpl;

  public javax.net.ssl.SSLEngineResult$HandshakeStatus getHandshakeStatus();
    descriptor: ()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 544
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            areturn
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLEngineImpl;

  private void changeReadCiphers();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 563
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.readCipher:Lsun/security/ssl/CipherBox;
            astore 1 /* oldCipher */
        start local 1 // sun.security.ssl.CipherBox oldCipher
         1: .line 566
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.newReadCipher:()Lsun/security/ssl/CipherBox;
            putfield sun.security.ssl.SSLEngineImpl.readCipher:Lsun/security/ssl/CipherBox;
         2: .line 567
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.newReadMAC:()Lsun/security/ssl/MAC;
            putfield sun.security.ssl.SSLEngineImpl.readMAC:Lsun/security/ssl/MAC;
         3: .line 568
            goto 6
      StackMap locals: sun.security.ssl.SSLEngineImpl sun.security.ssl.CipherBox
      StackMap stack: java.security.GeneralSecurityException
         4: astore 2 /* e */
        start local 2 // java.security.GeneralSecurityException e
         5: .line 570
            new javax.net.ssl.SSLException
            dup
            ldc "Algorithm missing:  "
            aload 2 /* e */
            invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.security.GeneralSecurityException e
         6: .line 581
      StackMap locals:
      StackMap stack:
            aload 1 /* oldCipher */
            invokevirtual sun.security.ssl.CipherBox.dispose:()V
         7: .line 582
            return
        end local 1 // sun.security.ssl.CipherBox oldCipher
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lsun/security/ssl/SSLEngineImpl;
            1    8     1  oldCipher  Lsun/security/ssl/CipherBox;
            5    6     2          e  Ljava/security/GeneralSecurityException;
      Exception table:
        from    to  target  type
           1     3       4  Class java.security.GeneralSecurityException
    Exceptions:
      throws javax.net.ssl.SSLException

  void changeWriteCiphers();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 591
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_1
            if_icmpeq 5
         1: .line 592
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_3
            if_icmpeq 5
         2: .line 593
            new javax.net.ssl.SSLProtocolException
            dup
         3: .line 594
            ldc "State error, change cipher specs"
         4: .line 593
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writeCipher:Lsun/security/ssl/CipherBox;
            astore 1 /* oldCipher */
        start local 1 // sun.security.ssl.CipherBox oldCipher
         6: .line 602
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.newWriteCipher:()Lsun/security/ssl/CipherBox;
            putfield sun.security.ssl.SSLEngineImpl.writeCipher:Lsun/security/ssl/CipherBox;
         7: .line 603
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.newWriteMAC:()Lsun/security/ssl/MAC;
            putfield sun.security.ssl.SSLEngineImpl.writeMAC:Lsun/security/ssl/MAC;
         8: .line 604
            goto 11
      StackMap locals: sun.security.ssl.SSLEngineImpl sun.security.ssl.CipherBox
      StackMap stack: java.security.GeneralSecurityException
         9: astore 2 /* e */
        start local 2 // java.security.GeneralSecurityException e
        10: .line 606
            new javax.net.ssl.SSLException
            dup
            ldc "Algorithm missing:  "
            aload 2 /* e */
            invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.security.GeneralSecurityException e
        11: .line 610
      StackMap locals:
      StackMap stack:
            aload 1 /* oldCipher */
            invokevirtual sun.security.ssl.CipherBox.dispose:()V
        12: .line 613
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.SSLEngineImpl.isFirstAppOutputRecord:Z
        13: .line 614
            return
        end local 1 // sun.security.ssl.CipherBox oldCipher
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lsun/security/ssl/SSLEngineImpl;
            6   14     1  oldCipher  Lsun/security/ssl/CipherBox;
           10   11     2          e  Ljava/security/GeneralSecurityException;
      Exception table:
        from    to  target  type
           6     8       9  Class java.security.GeneralSecurityException
    Exceptions:
      throws javax.net.ssl.SSLException

  synchronized void setVersion(sun.security.ssl.ProtocolVersion);
    descriptor: (Lsun/security/ssl/ProtocolVersion;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // sun.security.ssl.ProtocolVersion protocolVersion
         0: .line 621
            aload 0 /* this */
            aload 1 /* protocolVersion */
            putfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
         1: .line 622
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/EngineOutputRecord;
            aload 1 /* protocolVersion */
            invokevirtual sun.security.ssl.EngineOutputRecord.setVersion:(Lsun/security/ssl/ProtocolVersion;)V
         2: .line 623
            return
        end local 1 // sun.security.ssl.ProtocolVersion protocolVersion
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lsun/security/ssl/SSLEngineImpl;
            0    3     1  protocolVersion  Lsun/security/ssl/ProtocolVersion;
    MethodParameters:
                 Name  Flags
      protocolVersion  

  private synchronized void kickstartHandshake();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 641
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            tableswitch { // 0 - 3
                    0: 1
                    1: 7
                    2: 8
                    3: 19
              default: 20
          }
         1: .line 644
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.serverModeSet:Z
            ifne 5
         2: .line 645
            new java.lang.IllegalStateException
            dup
         3: .line 646
            ldc "Client/Server mode not yet set."
         4: .line 645
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 648
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.initHandshaker:()V
         6: .line 649
            goto 21
         7: .line 653
      StackMap locals:
      StackMap stack:
            goto 21
         8: .line 656
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.secureRenegotiation:Z
            ifne 12
            getstatic sun.security.ssl.Handshaker.allowUnsafeRenegotiation:Z
            ifne 12
         9: .line 657
            new javax.net.ssl.SSLHandshakeException
            dup
        10: .line 658
            ldc "Insecure renegotiation is not allowed"
        11: .line 657
            invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 661
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.secureRenegotiation:Z
            ifne 17
        13: .line 662
            getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
            ifnull 17
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 17
        14: .line 663
            getstatic java.lang.System.out:Ljava/io/PrintStream;
        15: .line 664
            ldc "Warning: Using insecure renegotiation"
        16: .line 663
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        17: .line 669
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.initHandshaker:()V
        18: .line 670
            goto 21
        19: .line 674
      StackMap locals:
      StackMap stack:
            return
        20: .line 678
      StackMap locals:
      StackMap stack:
            new javax.net.ssl.SSLException
            dup
            ldc "SSLEngine is closing/closed"
            invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 688
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.activated:()Z
            ifne 32
        22: .line 690
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_3
            if_icmpne 25
        23: .line 692
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.Handshaker.activate:(Lsun/security/ssl/ProtocolVersion;)V
        24: .line 693
            goto 26
        25: .line 694
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            aconst_null
            invokevirtual sun.security.ssl.Handshaker.activate:(Lsun/security/ssl/ProtocolVersion;)V
        26: .line 697
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            instanceof sun.security.ssl.ClientHandshaker
            ifeq 29
        27: .line 699
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.kickstart:()V
        28: .line 700
            goto 32
        29: .line 701
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_1
            if_icmpeq 32
        30: .line 705
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.kickstart:()V
        31: .line 709
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            getfield sun.security.ssl.Handshaker.handshakeHash:Lsun/security/ssl/HandshakeHash;
            invokevirtual sun.security.ssl.HandshakeHash.reset:()V
        32: .line 713
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   33     0  this  Lsun/security/ssl/SSLEngineImpl;
    Exceptions:
      throws java.io.IOException

  public void beginHandshake();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 720
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.kickstartHandshake:()V
         1: .line 721
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Exception
         2: astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 722
            aload 0 /* this */
            bipush 40
         4: .line 723
            ldc "Couldn't kickstart handshaking"
            aload 1 /* e */
         5: .line 722
            invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.lang.Exception e
         6: .line 725
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/security/ssl/SSLEngineImpl;
            3    6     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    Exceptions:
      throws javax.net.ssl.SSLException

  public javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer[], int, int);
    descriptor: (Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // java.nio.ByteBuffer netData
        start local 2 // java.nio.ByteBuffer[] appData
        start local 3 // int offset
        start local 4 // int length
         0: .line 740
            new sun.security.ssl.EngineArgs
            dup
            aload 1 /* netData */
            aload 2 /* appData */
            iload 3 /* offset */
            iload 4 /* length */
            invokespecial sun.security.ssl.EngineArgs.<init>:(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)V
            astore 5 /* ea */
        start local 5 // sun.security.ssl.EngineArgs ea
         1: .line 743
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.unwrapLock:Ljava/lang/Object;
            dup
            astore 6
            monitorenter
         2: .line 744
            aload 0 /* this */
            aload 5 /* ea */
            invokevirtual sun.security.ssl.SSLEngineImpl.readNetRecord:(Lsun/security/ssl/EngineArgs;)Ljavax/net/ssl/SSLEngineResult;
            astore 8
            aload 6
            monitorexit
         3: .line 764
            aload 5 /* ea */
            invokevirtual sun.security.ssl.EngineArgs.resetLim:()V
         4: .line 744
            aload 8
            areturn
         5: .line 743
      StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer java.nio.ByteBuffer[] int int sun.security.ssl.EngineArgs java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 6
            monitorexit
         6: athrow
         7: .line 746
      StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer java.nio.ByteBuffer[] int int sun.security.ssl.EngineArgs
      StackMap stack: javax.net.ssl.SSLProtocolException
            astore 6 /* spe */
        start local 6 // javax.net.ssl.SSLProtocolException spe
         8: .line 748
            aload 0 /* this */
            bipush 10
            aload 6 /* spe */
            invokevirtual javax.net.ssl.SSLProtocolException.getMessage:()Ljava/lang/String;
            aload 6 /* spe */
            invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
         9: .line 764
            aload 5 /* ea */
            invokevirtual sun.security.ssl.EngineArgs.resetLim:()V
        10: .line 749
            aconst_null
            areturn
        end local 6 // javax.net.ssl.SSLProtocolException spe
        11: .line 750
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        12: .line 757
            aload 0 /* this */
            bipush 80
        13: .line 758
            ldc "problem unwrapping net record"
            aload 6 /* e */
        14: .line 757
            invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
        15: .line 764
            aload 5 /* ea */
            invokevirtual sun.security.ssl.EngineArgs.resetLim:()V
        16: .line 759
            aconst_null
            areturn
        end local 6 // java.lang.Exception e
        17: .line 760
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        18: .line 764
            aload 5 /* ea */
            invokevirtual sun.security.ssl.EngineArgs.resetLim:()V
        19: .line 765
            aload 7
            athrow
        end local 5 // sun.security.ssl.EngineArgs ea
        end local 4 // int length
        end local 3 // int offset
        end local 2 // java.nio.ByteBuffer[] appData
        end local 1 // java.nio.ByteBuffer netData
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Lsun/security/ssl/SSLEngineImpl;
            0   20     1  netData  Ljava/nio/ByteBuffer;
            0   20     2  appData  [Ljava/nio/ByteBuffer;
            0   20     3   offset  I
            0   20     4   length  I
            1   20     5       ea  Lsun/security/ssl/EngineArgs;
            8   11     6      spe  Ljavax/net/ssl/SSLProtocolException;
           12   17     6        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     3       5  any
           5     6       5  any
           1     3       7  Class javax.net.ssl.SSLProtocolException
           5     7       7  Class javax.net.ssl.SSLProtocolException
           1     3      11  Class java.lang.Exception
           5     7      11  Class java.lang.Exception
           1     3      17  any
           5     9      17  any
          11    15      17  any
    Exceptions:
      throws javax.net.ssl.SSLException
    MethodParameters:
         Name  Flags
      netData  
      appData  
      offset   
      length   

  private javax.net.ssl.SSLEngineResult readNetRecord(sun.security.ssl.EngineArgs);
    descriptor: (Lsun/security/ssl/EngineArgs;)Ljavax/net/ssl/SSLEngineResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // sun.security.ssl.EngineArgs ea
         0: .line 774
            aconst_null
            astore 2 /* status */
        start local 2 // javax.net.ssl.SSLEngineResult$Status status
         1: .line 775
            aconst_null
            astore 3 /* hsStatus */
        start local 3 // javax.net.ssl.SSLEngineResult$HandshakeStatus hsStatus
         2: .line 780
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.checkTaskThrown:()V
         3: .line 785
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.isInboundDone:()Z
            ifeq 5
         4: .line 786
            new javax.net.ssl.SSLEngineResult
            dup
            getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            iconst_0
            iconst_0
            invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
            areturn
         5: .line 793
      StackMap locals: javax.net.ssl.SSLEngineResult$Status javax.net.ssl.SSLEngineResult$HandshakeStatus
      StackMap stack:
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         6: .line 794
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_1
            if_icmpeq 8
         7: .line 795
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            ifne 13
         8: .line 796
      StackMap locals: sun.security.ssl.SSLEngineImpl
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.kickstartHandshake:()V
         9: .line 802
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            astore 3 /* hsStatus */
        10: .line 804
            aload 3 /* hsStatus */
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_WRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            if_acmpne 13
        11: .line 805
            new javax.net.ssl.SSLEngineResult
            dup
            getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
            aload 3 /* hsStatus */
            iconst_0
            iconst_0
            invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
            aload 4
            monitorexit
        12: areturn
        13: .line 793
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        14: goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: aload 4
            monitorexit
        16: athrow
        17: .line 816
      StackMap locals:
      StackMap stack:
            aload 3 /* hsStatus */
            ifnonnull 19
        18: .line 817
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            astore 3 /* hsStatus */
        19: .line 826
      StackMap locals:
      StackMap stack:
            aload 3 /* hsStatus */
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_TASK:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            if_acmpne 23
        20: .line 827
            new javax.net.ssl.SSLEngineResult
            dup
        21: .line 828
            getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
            aload 3 /* hsStatus */
            iconst_0
            iconst_0
        22: .line 827
            invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
            areturn
        23: .line 835
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
            aload 1 /* ea */
            getfield sun.security.ssl.EngineArgs.netData:Ljava/nio/ByteBuffer;
            invokevirtual sun.security.ssl.EngineInputRecord.bytesInCompletePacket:(Ljava/nio/ByteBuffer;)I
            istore 4 /* packetLen */
        start local 4 // int packetLen
        24: .line 838
            iload 4 /* packetLen */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.sess:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.getPacketBufferSize:()I
            if_icmple 32
        25: .line 839
            iload 4 /* packetLen */
            ldc 33305
            if_icmple 31
        26: .line 840
            new javax.net.ssl.SSLProtocolException
            dup
        27: .line 841
            new java.lang.StringBuilder
            dup
            ldc "Input SSL/TLS record too big: max = 33305 len = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        28: .line 843
            iload 4 /* packetLen */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        29: .line 841
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        30: .line 840
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 847
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.sess:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.expandBufferSizes:()V
        32: .line 857
      StackMap locals:
      StackMap stack:
            iload 4 /* packetLen */
            iconst_5
            isub
            aload 1 /* ea */
            invokevirtual sun.security.ssl.EngineArgs.getAppRemaining:()I
            if_icmple 34
        33: .line 858
            new javax.net.ssl.SSLEngineResult
            dup
            getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
            aload 3 /* hsStatus */
            iconst_0
            iconst_0
            invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
            areturn
        34: .line 862
      StackMap locals:
      StackMap stack:
            iload 4 /* packetLen */
            iconst_m1
            if_icmpeq 35
            aload 1 /* ea */
            getfield sun.security.ssl.EngineArgs.netData:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 4 /* packetLen */
            if_icmpge 38
        35: .line 863
      StackMap locals:
      StackMap stack:
            new javax.net.ssl.SSLEngineResult
            dup
        36: .line 864
            getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_UNDERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
            aload 3 /* hsStatus */
            iconst_0
            iconst_0
        37: .line 863
            invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
            areturn
        38: .line 874
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ea */
            invokevirtual sun.security.ssl.SSLEngineImpl.readRecord:(Lsun/security/ssl/EngineArgs;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            astore 3 /* hsStatus */
        39: .line 875
            goto 44
      StackMap locals:
      StackMap stack: javax.net.ssl.SSLException
        40: astore 5 /* e */
        start local 5 // javax.net.ssl.SSLException e
        41: .line 876
            aload 5 /* e */
            athrow
        end local 5 // javax.net.ssl.SSLException e
        42: .line 877
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 5 /* e */
        start local 5 // java.io.IOException e
        43: .line 878
            new javax.net.ssl.SSLException
            dup
            ldc "readRecord"
            aload 5 /* e */
            invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.io.IOException e
        44: .line 891
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.isInboundDone:()Z
            ifeq 45
            getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
            goto 46
      StackMap locals:
      StackMap stack:
        45: getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
      StackMap locals:
      StackMap stack: javax.net.ssl.SSLEngineResult$Status
        46: astore 2 /* status */
        47: .line 892
            aload 0 /* this */
            aload 3 /* hsStatus */
            invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            astore 3 /* hsStatus */
        48: .line 894
            new javax.net.ssl.SSLEngineResult
            dup
            aload 2 /* status */
            aload 3 /* hsStatus */
        49: .line 895
            aload 1 /* ea */
            invokevirtual sun.security.ssl.EngineArgs.deltaNet:()I
            aload 1 /* ea */
            invokevirtual sun.security.ssl.EngineArgs.deltaApp:()I
        50: .line 894
            invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
            areturn
        end local 4 // int packetLen
        end local 3 // javax.net.ssl.SSLEngineResult$HandshakeStatus hsStatus
        end local 2 // javax.net.ssl.SSLEngineResult$Status status
        end local 1 // sun.security.ssl.EngineArgs ea
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   51     0       this  Lsun/security/ssl/SSLEngineImpl;
            0   51     1         ea  Lsun/security/ssl/EngineArgs;
            1   51     2     status  Ljavax/net/ssl/SSLEngineResult$Status;
            2   51     3   hsStatus  Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
           24   51     4  packetLen  I
           41   42     5          e  Ljavax/net/ssl/SSLException;
           43   44     5          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           6    12      15  any
          13    14      15  any
          15    16      15  any
          38    39      40  Class javax.net.ssl.SSLException
          38    39      42  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      ea    

  private javax.net.ssl.SSLEngineResult$HandshakeStatus readRecord(sun.security.ssl.EngineArgs);
    descriptor: (Lsun/security/ssl/EngineArgs;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // sun.security.ssl.EngineArgs ea
         0: .line 911
            aconst_null
            astore 2 /* hsStatus */
        start local 2 // javax.net.ssl.SSLEngineResult$HandshakeStatus hsStatus
         1: .line 918
            aconst_null
            astore 3 /* readBB */
        start local 3 // java.nio.ByteBuffer readBB
         2: .line 919
            aconst_null
            astore 4 /* decryptedBB */
        start local 4 // java.nio.ByteBuffer decryptedBB
         3: .line 921
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.getConnectionState:()I
            iconst_4
            if_icmpeq 99
         4: .line 929
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
            aload 1 /* ea */
            getfield sun.security.ssl.EngineArgs.netData:Ljava/nio/ByteBuffer;
            invokevirtual sun.security.ssl.EngineInputRecord.read:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            astore 3 /* readBB */
         5: .line 930
            goto 8
      StackMap locals: sun.security.ssl.SSLEngineImpl sun.security.ssl.EngineArgs javax.net.ssl.SSLEngineResult$HandshakeStatus java.nio.ByteBuffer java.nio.ByteBuffer
      StackMap stack: java.io.IOException
         6: astore 5 /* e */
        start local 5 // java.io.IOException e
         7: .line 931
            aload 0 /* this */
            bipush 10
            aload 5 /* e */
            invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/Throwable;)V
        end local 5 // java.io.IOException e
         8: .line 941
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.readMAC:Lsun/security/ssl/MAC;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.readCipher:Lsun/security/ssl/CipherBox;
            aload 3 /* readBB */
            invokevirtual sun.security.ssl.EngineInputRecord.decrypt:(Lsun/security/ssl/MAC;Lsun/security/ssl/CipherBox;Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            astore 4 /* decryptedBB */
         9: .line 942
            goto 18
      StackMap locals:
      StackMap stack: javax.crypto.BadPaddingException
        10: astore 5 /* e */
        start local 5 // javax.crypto.BadPaddingException e
        11: .line 943
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
            invokevirtual sun.security.ssl.EngineInputRecord.contentType:()B
        12: .line 944
            bipush 22
        13: .line 943
            if_icmpne 15
        14: .line 945
            bipush 40
            goto 16
        15: .line 946
      StackMap locals: javax.crypto.BadPaddingException
      StackMap stack:
            bipush 20
        16: .line 943
      StackMap locals:
      StackMap stack: int
            istore 6 /* alertType */
        start local 6 // byte alertType
        17: .line 947
            aload 0 /* this */
            iload 6 /* alertType */
            aload 5 /* e */
            invokevirtual javax.crypto.BadPaddingException.getMessage:()Ljava/lang/String;
            aload 5 /* e */
            invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
        end local 6 // byte alertType
        end local 5 // javax.crypto.BadPaddingException e
        18: .line 960
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 5
            monitorenter
        19: .line 961
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
            invokevirtual sun.security.ssl.EngineInputRecord.contentType:()B
            tableswitch { // 20 - 23
                   20: 66
                   21: 64
                   22: 20
                   23: 49
              default: 83
          }
        20: .line 975
      StackMap locals: sun.security.ssl.SSLEngineImpl
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.initHandshaker:()V
        21: .line 976
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.activated:()Z
            ifne 26
        22: .line 978
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_3
            if_icmpne 25
        23: .line 980
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.Handshaker.activate:(Lsun/security/ssl/ProtocolVersion;)V
        24: .line 981
            goto 26
        25: .line 982
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            aconst_null
            invokevirtual sun.security.ssl.Handshaker.activate:(Lsun/security/ssl/ProtocolVersion;)V
        26: .line 993
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.expectingFinished:Z
            invokevirtual sun.security.ssl.Handshaker.process_record:(Lsun/security/ssl/InputRecord;Z)V
        27: .line 994
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.SSLEngineImpl.expectingFinished:Z
        28: .line 996
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            getfield sun.security.ssl.Handshaker.invalidated:Z
            ifeq 33
        29: .line 997
            aload 0 /* this */
            aconst_null
            putfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
        30: .line 999
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_3
            if_icmpne 88
        31: .line 1000
            aload 0 /* this */
            iconst_2
            putfield sun.security.ssl.SSLEngineImpl.connectionState:I
        32: .line 1002
            goto 88
      StackMap locals:
      StackMap stack:
        33: aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.isDone:()Z
            ifeq 46
        34: .line 1004
            aload 0 /* this */
        35: .line 1005
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.isSecureRenegotiation:()Z
        36: .line 1004
            putfield sun.security.ssl.SSLEngineImpl.secureRenegotiation:Z
        37: .line 1006
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.getClientVerifyData:()[B
            putfield sun.security.ssl.SSLEngineImpl.clientVerifyData:[B
        38: .line 1007
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.getServerVerifyData:()[B
            putfield sun.security.ssl.SSLEngineImpl.serverVerifyData:[B
        39: .line 1009
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.getSession:()Lsun/security/ssl/SSLSessionImpl;
            putfield sun.security.ssl.SSLEngineImpl.sess:Lsun/security/ssl/SSLSessionImpl;
        40: .line 1010
            aload 0 /* this */
            aconst_null
            putfield sun.security.ssl.SSLEngineImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
        41: .line 1011
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
            invokevirtual sun.security.ssl.EngineWriter.hasOutboundData:()Z
            ifne 43
        42: .line 1012
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            astore 2 /* hsStatus */
        43: .line 1014
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
        44: .line 1015
            aload 0 /* this */
            iconst_2
            putfield sun.security.ssl.SSLEngineImpl.connectionState:I
        45: .line 1018
            goto 88
      StackMap locals:
      StackMap stack:
        46: aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.taskOutstanding:()Z
            ifeq 88
        47: .line 1019
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_TASK:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            astore 2 /* hsStatus */
        48: .line 1021
            goto 88
        49: .line 1025
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_2
            if_icmpeq 57
        50: .line 1026
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_3
            if_icmpeq 57
        51: .line 1027
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            bipush 6
            if_icmpeq 57
        52: .line 1028
            new javax.net.ssl.SSLProtocolException
            dup
        53: .line 1029
            new java.lang.StringBuilder
            dup
            ldc "Data received in non-data state: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        54: .line 1030
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        55: .line 1029
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        56: .line 1028
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        57: .line 1033
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.expectingFinished:Z
            ifeq 61
        58: .line 1034
            new javax.net.ssl.SSLProtocolException
            dup
        59: .line 1035
            ldc "Expecting finished message, received data"
        60: .line 1034
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        61: .line 1042
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
            ifne 88
        62: .line 1043
            aload 1 /* ea */
            aload 4 /* decryptedBB */
            invokevirtual java.nio.ByteBuffer.slice:()Ljava/nio/ByteBuffer;
            invokevirtual sun.security.ssl.EngineArgs.scatter:(Ljava/nio/ByteBuffer;)V
        63: .line 1045
            goto 88
        64: .line 1048
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.recvAlert:()V
        65: .line 1049
            goto 88
        66: .line 1052
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_1
            if_icmpeq 74
        67: .line 1053
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_3
            if_icmpeq 74
        68: .line 1055
            aload 0 /* this */
            bipush 10
        69: .line 1056
            new java.lang.StringBuilder
            dup
            ldc "illegal change cipher spec msg, conn state = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        70: .line 1057
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        71: .line 1056
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        72: .line 1055
            invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;)V
        73: .line 1058
            goto 79
      StackMap locals:
      StackMap stack:
        74: aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
            invokevirtual sun.security.ssl.EngineInputRecord.available:()I
            iconst_1
            if_icmpne 76
        75: .line 1059
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
            invokevirtual sun.security.ssl.EngineInputRecord.read:()I
            iconst_1
            if_icmpeq 79
        76: .line 1061
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 10
        77: .line 1062
            ldc "Malformed change cipher spec msg"
        78: .line 1061
            invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;)V
        79: .line 1072
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.receiveChangeCipherSpec:()V
        80: .line 1073
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.changeReadCiphers:()V
        81: .line 1075
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.SSLEngineImpl.expectingFinished:Z
        82: .line 1076
            goto 88
        83: .line 1082
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
            ifnull 88
            ldc "ssl"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 88
        84: .line 1083
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        85: .line 1084
            ldc ", Received record type: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        86: .line 1085
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
            invokevirtual sun.security.ssl.EngineInputRecord.contentType:()B
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        87: .line 1083
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        88: .line 1102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_4
            if_icmpge 95
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.isInboundDone:()Z
            ifne 95
        89: .line 1103
            aload 2 /* hsStatus */
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            if_acmpne 95
        90: .line 1104
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.readMAC:Lsun/security/ssl/MAC;
        91: .line 1105
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
            invokevirtual sun.security.ssl.EngineInputRecord.contentType:()B
        92: .line 1104
            invokevirtual sun.security.ssl.SSLEngineImpl.checkSequenceNumber:(Lsun/security/ssl/MAC;B)Z
        93: .line 1105
            ifeq 95
        94: .line 1106
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            astore 2 /* hsStatus */
        95: .line 960
      StackMap locals:
      StackMap stack:
            aload 5
            monitorexit
        96: goto 99
      StackMap locals:
      StackMap stack: java.lang.Throwable
        97: aload 5
            monitorexit
        98: athrow
        99: .line 1111
      StackMap locals:
      StackMap stack:
            aload 2 /* hsStatus */
            areturn
        end local 4 // java.nio.ByteBuffer decryptedBB
        end local 3 // java.nio.ByteBuffer readBB
        end local 2 // javax.net.ssl.SSLEngineResult$HandshakeStatus hsStatus
        end local 1 // sun.security.ssl.EngineArgs ea
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0  100     0         this  Lsun/security/ssl/SSLEngineImpl;
            0  100     1           ea  Lsun/security/ssl/EngineArgs;
            1  100     2     hsStatus  Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            2  100     3       readBB  Ljava/nio/ByteBuffer;
            3  100     4  decryptedBB  Ljava/nio/ByteBuffer;
            7    8     5            e  Ljava/io/IOException;
           11   18     5            e  Ljavax/crypto/BadPaddingException;
           17   18     6    alertType  B
      Exception table:
        from    to  target  type
           4     5       6  Class java.io.IOException
           8     9      10  Class javax.crypto.BadPaddingException
          19    96      97  any
          97    98      97  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      ea    

  public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer);
    descriptor: ([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // java.nio.ByteBuffer[] appData
        start local 2 // int offset
        start local 3 // int length
        start local 4 // java.nio.ByteBuffer netData
         0: .line 1127
            new sun.security.ssl.EngineArgs
            dup
            aload 1 /* appData */
            iload 2 /* offset */
            iload 3 /* length */
            aload 4 /* netData */
            invokespecial sun.security.ssl.EngineArgs.<init>:([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)V
            astore 5 /* ea */
        start local 5 // sun.security.ssl.EngineArgs ea
         1: .line 1134
            aload 4 /* netData */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            sipush 16921
            if_icmpge 5
         2: .line 1135
            new javax.net.ssl.SSLEngineResult
            dup
         3: .line 1136
            getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            iconst_0
            iconst_0
         4: .line 1135
            invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
            areturn
         5: .line 1140
      StackMap locals: sun.security.ssl.EngineArgs
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.wrapLock:Ljava/lang/Object;
            dup
            astore 6
            monitorenter
         6: .line 1141
            aload 0 /* this */
            aload 5 /* ea */
            invokevirtual sun.security.ssl.SSLEngineImpl.writeAppRecord:(Lsun/security/ssl/EngineArgs;)Ljavax/net/ssl/SSLEngineResult;
            astore 8
            aload 6
            monitorexit
         7: .line 1157
            aload 5 /* ea */
            invokevirtual sun.security.ssl.EngineArgs.resetLim:()V
         8: .line 1141
            aload 8
            areturn
         9: .line 1140
      StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer[] int int java.nio.ByteBuffer sun.security.ssl.EngineArgs java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 6
            monitorexit
        10: athrow
        11: .line 1143
      StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer[] int int java.nio.ByteBuffer sun.security.ssl.EngineArgs
      StackMap stack: javax.net.ssl.SSLProtocolException
            astore 6 /* spe */
        start local 6 // javax.net.ssl.SSLProtocolException spe
        12: .line 1145
            aload 0 /* this */
            bipush 10
            aload 6 /* spe */
            invokevirtual javax.net.ssl.SSLProtocolException.getMessage:()Ljava/lang/String;
            aload 6 /* spe */
            invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
        13: .line 1157
            aload 5 /* ea */
            invokevirtual sun.security.ssl.EngineArgs.resetLim:()V
        14: .line 1146
            aconst_null
            areturn
        end local 6 // javax.net.ssl.SSLProtocolException spe
        15: .line 1147
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        16: .line 1148
            aload 5 /* ea */
            invokevirtual sun.security.ssl.EngineArgs.resetPos:()V
        17: .line 1150
            aload 0 /* this */
            bipush 80
        18: .line 1151
            ldc "problem wrapping app data"
            aload 6 /* e */
        19: .line 1150
            invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
        20: .line 1157
            aload 5 /* ea */
            invokevirtual sun.security.ssl.EngineArgs.resetLim:()V
        21: .line 1152
            aconst_null
            areturn
        end local 6 // java.lang.Exception e
        22: .line 1153
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        23: .line 1157
            aload 5 /* ea */
            invokevirtual sun.security.ssl.EngineArgs.resetLim:()V
        24: .line 1158
            aload 7
            athrow
        end local 5 // sun.security.ssl.EngineArgs ea
        end local 4 // java.nio.ByteBuffer netData
        end local 3 // int length
        end local 2 // int offset
        end local 1 // java.nio.ByteBuffer[] appData
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   25     0     this  Lsun/security/ssl/SSLEngineImpl;
            0   25     1  appData  [Ljava/nio/ByteBuffer;
            0   25     2   offset  I
            0   25     3   length  I
            0   25     4  netData  Ljava/nio/ByteBuffer;
            1   25     5       ea  Lsun/security/ssl/EngineArgs;
           12   15     6      spe  Ljavax/net/ssl/SSLProtocolException;
           16   22     6        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           6     7       9  any
           9    10       9  any
           5     7      11  Class javax.net.ssl.SSLProtocolException
           9    11      11  Class javax.net.ssl.SSLProtocolException
           5     7      15  Class java.lang.Exception
           9    11      15  Class java.lang.Exception
           5     7      22  any
           9    13      22  any
          15    20      22  any
    Exceptions:
      throws javax.net.ssl.SSLException
    MethodParameters:
         Name  Flags
      appData  
      offset   
      length   
      netData  

  private javax.net.ssl.SSLEngineResult writeAppRecord(sun.security.ssl.EngineArgs);
    descriptor: (Lsun/security/ssl/EngineArgs;)Ljavax/net/ssl/SSLEngineResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // sun.security.ssl.EngineArgs ea
         0: .line 1167
            aconst_null
            astore 2 /* status */
        start local 2 // javax.net.ssl.SSLEngineResult$Status status
         1: .line 1168
            aconst_null
            astore 3 /* hsStatus */
        start local 3 // javax.net.ssl.SSLEngineResult$HandshakeStatus hsStatus
         2: .line 1173
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.checkTaskThrown:()V
         3: .line 1177
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
            invokevirtual sun.security.ssl.EngineWriter.isOutboundDone:()Z
            ifeq 5
         4: .line 1178
            new javax.net.ssl.SSLEngineResult
            dup
            getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            iconst_0
            iconst_0
            invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
            areturn
         5: .line 1185
      StackMap locals: javax.net.ssl.SSLEngineResult$Status javax.net.ssl.SSLEngineResult$HandshakeStatus
      StackMap stack:
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         6: .line 1186
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_1
            if_icmpeq 8
         7: .line 1187
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            ifne 13
         8: .line 1188
      StackMap locals: sun.security.ssl.SSLEngineImpl
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.kickstartHandshake:()V
         9: .line 1194
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            astore 3 /* hsStatus */
        10: .line 1195
            aload 3 /* hsStatus */
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            if_acmpne 13
        11: .line 1196
            new javax.net.ssl.SSLEngineResult
            dup
            getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
            aload 3 /* hsStatus */
            iconst_0
            iconst_0
            invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
            aload 4
            monitorexit
        12: areturn
        13: .line 1185
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        14: goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: aload 4
            monitorexit
        16: athrow
        17: .line 1207
      StackMap locals:
      StackMap stack:
            aload 3 /* hsStatus */
            ifnonnull 19
        18: .line 1208
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            astore 3 /* hsStatus */
        19: .line 1217
      StackMap locals:
      StackMap stack:
            aload 3 /* hsStatus */
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_TASK:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            if_acmpne 23
        20: .line 1218
            new javax.net.ssl.SSLEngineResult
            dup
        21: .line 1219
            getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
            aload 3 /* hsStatus */
            iconst_0
            iconst_0
        22: .line 1218
            invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
            areturn
        23: .line 1227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writeLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
        24: .line 1228
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/EngineOutputRecord;
            aload 1 /* ea */
            invokevirtual sun.security.ssl.SSLEngineImpl.writeRecord:(Lsun/security/ssl/EngineOutputRecord;Lsun/security/ssl/EngineArgs;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            astore 3 /* hsStatus */
        25: .line 1227
            aload 4
            monitorexit
        26: goto 33
      StackMap locals: sun.security.ssl.SSLEngineImpl sun.security.ssl.EngineArgs javax.net.ssl.SSLEngineResult$Status javax.net.ssl.SSLEngineResult$HandshakeStatus java.lang.Object
      StackMap stack: java.lang.Throwable
        27: aload 4
            monitorexit
        28: athrow
        29: .line 1230
      StackMap locals: sun.security.ssl.SSLEngineImpl sun.security.ssl.EngineArgs javax.net.ssl.SSLEngineResult$Status javax.net.ssl.SSLEngineResult$HandshakeStatus
      StackMap stack: javax.net.ssl.SSLException
            astore 4 /* e */
        start local 4 // javax.net.ssl.SSLException e
        30: .line 1231
            aload 4 /* e */
            athrow
        end local 4 // javax.net.ssl.SSLException e
        31: .line 1232
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 4 /* e */
        start local 4 // java.io.IOException e
        32: .line 1233
            new javax.net.ssl.SSLException
            dup
            ldc "Write problems"
            aload 4 /* e */
            invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException e
        33: .line 1242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.isOutboundDone:()Z
            ifeq 34
            getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
            goto 35
      StackMap locals:
      StackMap stack:
        34: getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
      StackMap locals:
      StackMap stack: javax.net.ssl.SSLEngineResult$Status
        35: astore 2 /* status */
        36: .line 1243
            aload 0 /* this */
            aload 3 /* hsStatus */
            invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            astore 3 /* hsStatus */
        37: .line 1245
            new javax.net.ssl.SSLEngineResult
            dup
            aload 2 /* status */
            aload 3 /* hsStatus */
        38: .line 1246
            aload 1 /* ea */
            invokevirtual sun.security.ssl.EngineArgs.deltaApp:()I
            aload 1 /* ea */
            invokevirtual sun.security.ssl.EngineArgs.deltaNet:()I
        39: .line 1245
            invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
            areturn
        end local 3 // javax.net.ssl.SSLEngineResult$HandshakeStatus hsStatus
        end local 2 // javax.net.ssl.SSLEngineResult$Status status
        end local 1 // sun.security.ssl.EngineArgs ea
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   40     0      this  Lsun/security/ssl/SSLEngineImpl;
            0   40     1        ea  Lsun/security/ssl/EngineArgs;
            1   40     2    status  Ljavax/net/ssl/SSLEngineResult$Status;
            2   40     3  hsStatus  Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
           30   31     4         e  Ljavax/net/ssl/SSLException;
           32   33     4         e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           6    12      15  any
          13    14      15  any
          15    16      15  any
          24    26      27  any
          27    28      27  any
          23    29      29  Class javax.net.ssl.SSLException
          23    29      31  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      ea    

  private javax.net.ssl.SSLEngineResult$HandshakeStatus writeRecord(sun.security.ssl.EngineOutputRecord, sun.security.ssl.EngineArgs);
    descriptor: (Lsun/security/ssl/EngineOutputRecord;Lsun/security/ssl/EngineArgs;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // sun.security.ssl.EngineOutputRecord eor
        start local 2 // sun.security.ssl.EngineArgs ea
         0: .line 1257
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
            aload 1 /* eor */
            aload 2 /* ea */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writeMAC:Lsun/security/ssl/MAC;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writeCipher:Lsun/security/ssl/CipherBox;
            invokevirtual sun.security.ssl.EngineWriter.writeRecord:(Lsun/security/ssl/EngineOutputRecord;Lsun/security/ssl/EngineArgs;Lsun/security/ssl/MAC;Lsun/security/ssl/CipherBox;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
         1: .line 1256
            astore 3 /* hsStatus */
        start local 3 // javax.net.ssl.SSLEngineResult$HandshakeStatus hsStatus
         2: .line 1271
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_4
            if_icmpge 6
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.isOutboundDone:()Z
            ifne 6
         3: .line 1272
            aload 3 /* hsStatus */
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            if_acmpne 6
         4: .line 1273
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writeMAC:Lsun/security/ssl/MAC;
            aload 1 /* eor */
            invokevirtual sun.security.ssl.EngineOutputRecord.contentType:()B
            invokevirtual sun.security.ssl.SSLEngineImpl.checkSequenceNumber:(Lsun/security/ssl/MAC;B)Z
            ifeq 6
         5: .line 1274
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            astore 3 /* hsStatus */
         6: .line 1282
      StackMap locals: javax.net.ssl.SSLEngineResult$HandshakeStatus
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.isFirstAppOutputRecord:Z
            ifeq 8
            aload 2 /* ea */
            invokevirtual sun.security.ssl.EngineArgs.deltaApp:()I
            ifle 8
         7: .line 1283
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.SSLEngineImpl.isFirstAppOutputRecord:Z
         8: .line 1286
      StackMap locals:
      StackMap stack:
            aload 3 /* hsStatus */
            areturn
        end local 3 // javax.net.ssl.SSLEngineResult$HandshakeStatus hsStatus
        end local 2 // sun.security.ssl.EngineArgs ea
        end local 1 // sun.security.ssl.EngineOutputRecord eor
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lsun/security/ssl/SSLEngineImpl;
            0    9     1       eor  Lsun/security/ssl/EngineOutputRecord;
            0    9     2        ea  Lsun/security/ssl/EngineArgs;
            2    9     3  hsStatus  Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      eor   
      ea    

  boolean needToSplitPayload(sun.security.ssl.CipherBox, sun.security.ssl.ProtocolVersion);
    descriptor: (Lsun/security/ssl/CipherBox;Lsun/security/ssl/ProtocolVersion;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // sun.security.ssl.CipherBox cipher
        start local 2 // sun.security.ssl.ProtocolVersion protocol
         0: .line 1302
            aload 2 /* protocol */
            getfield sun.security.ssl.ProtocolVersion.v:I
            getstatic sun.security.ssl.ProtocolVersion.TLS10:Lsun/security/ssl/ProtocolVersion;
            getfield sun.security.ssl.ProtocolVersion.v:I
            if_icmpgt 4
         1: .line 1303
            aload 1 /* cipher */
            invokevirtual sun.security.ssl.CipherBox.isCBCMode:()Z
            ifeq 4
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.isFirstAppOutputRecord:Z
            ifne 4
         2: .line 1304
            getstatic sun.security.ssl.Record.enableCBCProtection:Z
            ifeq 4
         3: .line 1302
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // sun.security.ssl.ProtocolVersion protocol
        end local 1 // sun.security.ssl.CipherBox cipher
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lsun/security/ssl/SSLEngineImpl;
            0    5     1    cipher  Lsun/security/ssl/CipherBox;
            0    5     2  protocol  Lsun/security/ssl/ProtocolVersion;
    MethodParameters:
          Name  Flags
      cipher    
      protocol  

  void writeRecord(sun.security.ssl.EngineOutputRecord);
    descriptor: (Lsun/security/ssl/EngineOutputRecord;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // sun.security.ssl.EngineOutputRecord eor
         0: .line 1312
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
            aload 1 /* eor */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writeMAC:Lsun/security/ssl/MAC;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writeCipher:Lsun/security/ssl/CipherBox;
            invokevirtual sun.security.ssl.EngineWriter.writeRecord:(Lsun/security/ssl/EngineOutputRecord;Lsun/security/ssl/MAC;Lsun/security/ssl/CipherBox;)V
         1: .line 1325
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_4
            if_icmpge 3
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.isOutboundDone:()Z
            ifne 3
         2: .line 1326
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writeMAC:Lsun/security/ssl/MAC;
            aload 1 /* eor */
            invokevirtual sun.security.ssl.EngineOutputRecord.contentType:()B
            invokevirtual sun.security.ssl.SSLEngineImpl.checkSequenceNumber:(Lsun/security/ssl/MAC;B)Z
            pop
         3: .line 1328
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.security.ssl.EngineOutputRecord eor
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/ssl/SSLEngineImpl;
            0    4     1   eor  Lsun/security/ssl/EngineOutputRecord;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      eor   

  private boolean checkSequenceNumber(sun.security.ssl.MAC, byte);
    descriptor: (Lsun/security/ssl/MAC;B)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // sun.security.ssl.MAC mac
        start local 2 // byte type
         0: .line 1351
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_4
            if_icmpge 1
            aload 1 /* mac */
            getstatic sun.security.ssl.MAC.NULL:Lsun/security/ssl/MAC;
            if_acmpne 2
         1: .line 1352
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 1359
      StackMap locals:
      StackMap stack:
            aload 1 /* mac */
            invokevirtual sun.security.ssl.MAC.seqNumOverflow:()Z
            ifeq 10
         3: .line 1365
            getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
            ifnull 8
            ldc "ssl"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 8
         4: .line 1366
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 1367
            ldc ", sequence number extremely close to overflow "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 1368
            ldc "(2^64-1 packets). Closing connection."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 1366
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         8: .line 1371
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 40
            ldc "sequence number overflow"
            invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;)V
         9: .line 1373
            iconst_1
            ireturn
        10: .line 1382
      StackMap locals:
      StackMap stack:
            iload 2 /* type */
            bipush 22
            if_icmpeq 17
            aload 1 /* mac */
            invokevirtual sun.security.ssl.MAC.seqNumIsHuge:()Z
            ifeq 17
        11: .line 1383
            getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
            ifnull 15
            ldc "ssl"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 15
        12: .line 1384
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ", request renegotiation "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 1385
            ldc "to avoid sequence number overflow"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 1384
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 1388
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.beginHandshake:()V
        16: .line 1389
            iconst_1
            ireturn
        17: .line 1392
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // byte type
        end local 1 // sun.security.ssl.MAC mac
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lsun/security/ssl/SSLEngineImpl;
            0   18     1   mac  Lsun/security/ssl/MAC;
            0   18     2  type  B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      mac   
      type  

  private void closeOutboundInternal();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 1401
            getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
            ifnull 2
            ldc "ssl"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1402
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ", closeOutboundInternal()"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 1408
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
            invokevirtual sun.security.ssl.EngineWriter.isOutboundDone:()Z
            ifeq 4
         3: .line 1409
            return
         4: .line 1412
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            tableswitch { // 0 - 6
                    0: 5
                    1: 9
                    2: 9
                    3: 9
                    4: 8
                    5: 9
                    6: 8
              default: 9
          }
         5: .line 1418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
            invokevirtual sun.security.ssl.EngineWriter.closeOutbound:()V
         6: .line 1419
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
         7: .line 1420
            goto 11
         8: .line 1424
      StackMap locals:
      StackMap stack:
            goto 11
         9: .line 1433
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual sun.security.ssl.SSLEngineImpl.warning:(B)V
        10: .line 1434
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
            invokevirtual sun.security.ssl.EngineWriter.closeOutbound:()V
        11: .line 1439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writeCipher:Lsun/security/ssl/CipherBox;
            invokevirtual sun.security.ssl.CipherBox.dispose:()V
        12: .line 1441
            aload 0 /* this */
            bipush 6
            putfield sun.security.ssl.SSLEngineImpl.connectionState:I
        13: .line 1442
            return
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lsun/security/ssl/SSLEngineImpl;

  public synchronized void closeOutbound();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 1448
            getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
            ifnull 2
            ldc "ssl"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1449
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ", called closeOutbound()"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 1452
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.closeOutboundInternal:()V
         3: .line 1453
            return
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/ssl/SSLEngineImpl;

  public boolean isOutboundDone();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 1459
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
            invokevirtual sun.security.ssl.EngineWriter.isOutboundDone:()Z
            ireturn
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLEngineImpl;

  private void closeInboundInternal();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 1468
            getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
            ifnull 2
            ldc "ssl"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1469
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ", closeInboundInternal()"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 1475
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
            ifeq 4
         3: .line 1476
            return
         4: .line 1479
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.closeOutboundInternal:()V
         5: .line 1480
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
         6: .line 1483
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.readCipher:Lsun/security/ssl/CipherBox;
            invokevirtual sun.security.ssl.CipherBox.dispose:()V
         7: .line 1485
            aload 0 /* this */
            bipush 6
            putfield sun.security.ssl.SSLEngineImpl.connectionState:I
         8: .line 1486
            return
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/security/ssl/SSLEngineImpl;

  public synchronized void closeInbound();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 1500
            getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
            ifnull 2
            ldc "ssl"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1501
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ", called closeInbound()"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 1507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            ifeq 8
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.recvCN:Z
            ifne 8
         3: .line 1508
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.SSLEngineImpl.recvCN:Z
         4: .line 1509
            aload 0 /* this */
            bipush 80
         5: .line 1510
            ldc "Inbound closed before receiving peer's close_notify: possible truncation attack?"
         6: .line 1509
            invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;)V
         7: .line 1512
            goto 9
         8: .line 1517
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.closeInboundInternal:()V
         9: .line 1519
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/security/ssl/SSLEngineImpl;
    Exceptions:
      throws javax.net.ssl.SSLException

  public synchronized boolean isInboundDone();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 1525
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
            ireturn
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLEngineImpl;

  public synchronized javax.net.ssl.SSLSession getSession();
    descriptor: ()Ljavax/net/ssl/SSLSession;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 1542
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.sess:Lsun/security/ssl/SSLSessionImpl;
            areturn
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLEngineImpl;

  public synchronized javax.net.ssl.SSLSession getHandshakeSession();
    descriptor: ()Ljavax/net/ssl/SSLSession;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 1547
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
            areturn
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLEngineImpl;

  synchronized void setHandshakeSession(sun.security.ssl.SSLSessionImpl);
    descriptor: (Lsun/security/ssl/SSLSessionImpl;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // sun.security.ssl.SSLSessionImpl session
         0: .line 1551
            aload 0 /* this */
            aload 1 /* session */
            putfield sun.security.ssl.SSLEngineImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
         1: .line 1552
            return
        end local 1 // sun.security.ssl.SSLSessionImpl session
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lsun/security/ssl/SSLEngineImpl;
            0    2     1  session  Lsun/security/ssl/SSLSessionImpl;
    MethodParameters:
         Name  Flags
      session  

  public synchronized java.lang.Runnable getDelegatedTask();
    descriptor: ()Ljava/lang/Runnable;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 1559
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            ifnull 2
         1: .line 1560
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.getTask:()Lsun/security/ssl/Handshaker$DelegatedTask;
            areturn
         2: .line 1562
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/ssl/SSLEngineImpl;

  void warning(byte);
    descriptor: (B)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // byte description
         0: .line 1574
            aload 0 /* this */
            iconst_1
            iload 1 /* description */
            invokevirtual sun.security.ssl.SSLEngineImpl.sendAlert:(BB)V
         1: .line 1575
            return
        end local 1 // byte description
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lsun/security/ssl/SSLEngineImpl;
            0    2     1  description  B
    MethodParameters:
             Name  Flags
      description  

  synchronized void fatal(byte, java.lang.String);
    descriptor: (BLjava/lang/String;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // byte description
        start local 2 // java.lang.String diagnostic
         0: .line 1579
            aload 0 /* this */
            iload 1 /* description */
            aload 2 /* diagnostic */
            aconst_null
            invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
         1: .line 1580
            return
        end local 2 // java.lang.String diagnostic
        end local 1 // byte description
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lsun/security/ssl/SSLEngineImpl;
            0    2     1  description  B
            0    2     2   diagnostic  Ljava/lang/String;
    Exceptions:
      throws javax.net.ssl.SSLException
    MethodParameters:
             Name  Flags
      description  
      diagnostic   

  synchronized void fatal(byte, java.lang.Throwable);
    descriptor: (BLjava/lang/Throwable;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // byte description
        start local 2 // java.lang.Throwable cause
         0: .line 1584
            aload 0 /* this */
            iload 1 /* description */
            aconst_null
            aload 2 /* cause */
            invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
         1: .line 1585
            return
        end local 2 // java.lang.Throwable cause
        end local 1 // byte description
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lsun/security/ssl/SSLEngineImpl;
            0    2     1  description  B
            0    2     2        cause  Ljava/lang/Throwable;
    Exceptions:
      throws javax.net.ssl.SSLException
    MethodParameters:
             Name  Flags
      description  
      cause        

  synchronized void fatal(byte, java.lang.String, java.lang.Throwable);
    descriptor: (BLjava/lang/String;Ljava/lang/Throwable;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // byte description
        start local 2 // java.lang.String diagnostic
        start local 3 // java.lang.Throwable cause
         0: .line 1607
            aload 2 /* diagnostic */
            ifnonnull 2
         1: .line 1608
            ldc "General SSLEngine problem"
            astore 2 /* diagnostic */
         2: .line 1610
      StackMap locals:
      StackMap stack:
            aload 3 /* cause */
            ifnonnull 4
         3: .line 1611
            iload 1 /* description */
            aload 3 /* cause */
            aload 2 /* diagnostic */
            invokestatic sun.security.ssl.Alerts.getSSLException:(BLjava/lang/Throwable;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            astore 3 /* cause */
         4: .line 1622
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.closeReason:Ljavax/net/ssl/SSLException;
            ifnull 16
         5: .line 1623
            getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
            ifnull 10
            ldc "ssl"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 10
         6: .line 1624
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 1625
            ldc ", fatal: engine already closed.  Rethrowing "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 1626
            aload 3 /* cause */
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 1624
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 1628
      StackMap locals:
      StackMap stack:
            aload 3 /* cause */
            instanceof java.lang.RuntimeException
            ifeq 12
        11: .line 1629
            aload 3 /* cause */
            checkcast java.lang.RuntimeException
            athrow
        12: .line 1630
      StackMap locals:
      StackMap stack:
            aload 3 /* cause */
            instanceof javax.net.ssl.SSLException
            ifeq 14
        13: .line 1631
            aload 3 /* cause */
            checkcast javax.net.ssl.SSLException
            athrow
        14: .line 1632
      StackMap locals:
      StackMap stack:
            aload 3 /* cause */
            instanceof java.lang.Exception
            ifeq 16
        15: .line 1633
            new javax.net.ssl.SSLException
            dup
            ldc "fatal SSLEngine condition"
            aload 3 /* cause */
            invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        16: .line 1637
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
            ifnull 21
            ldc "ssl"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 21
        17: .line 1638
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 1639
            ldc ", fatal error: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* description */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        19: .line 1640
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* diagnostic */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* cause */
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 1638
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        21: .line 1646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            istore 4 /* oldState */
        start local 4 // int oldState
        22: .line 1647
            aload 0 /* this */
            iconst_4
            putfield sun.security.ssl.SSLEngineImpl.connectionState:I
        23: .line 1649
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
        24: .line 1651
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.sess:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.invalidate:()V
        25: .line 1652
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
            ifnull 27
        26: .line 1653
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.invalidate:()V
        27: .line 1660
      StackMap locals: int
      StackMap stack:
            iload 4 /* oldState */
            ifeq 29
        28: .line 1661
            aload 0 /* this */
            iconst_2
            iload 1 /* description */
            invokevirtual sun.security.ssl.SSLEngineImpl.sendAlert:(BB)V
        29: .line 1664
      StackMap locals:
      StackMap stack:
            aload 3 /* cause */
            instanceof javax.net.ssl.SSLException
            ifeq 32
        30: .line 1665
            aload 0 /* this */
            aload 3 /* cause */
            checkcast javax.net.ssl.SSLException
            putfield sun.security.ssl.SSLEngineImpl.closeReason:Ljavax/net/ssl/SSLException;
        31: .line 1666
            goto 35
        32: .line 1672
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        33: .line 1673
            iload 1 /* description */
            aload 3 /* cause */
            aload 2 /* diagnostic */
            invokestatic sun.security.ssl.Alerts.getSSLException:(BLjava/lang/Throwable;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
        34: .line 1672
            putfield sun.security.ssl.SSLEngineImpl.closeReason:Ljavax/net/ssl/SSLException;
        35: .line 1676
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
            invokevirtual sun.security.ssl.EngineWriter.closeOutbound:()V
        36: .line 1678
            aload 0 /* this */
            bipush 6
            putfield sun.security.ssl.SSLEngineImpl.connectionState:I
        37: .line 1681
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.readCipher:Lsun/security/ssl/CipherBox;
            invokevirtual sun.security.ssl.CipherBox.dispose:()V
        38: .line 1682
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.writeCipher:Lsun/security/ssl/CipherBox;
            invokevirtual sun.security.ssl.CipherBox.dispose:()V
        39: .line 1684
            aload 3 /* cause */
            instanceof java.lang.RuntimeException
            ifeq 41
        40: .line 1685
            aload 3 /* cause */
            checkcast java.lang.RuntimeException
            athrow
        41: .line 1687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.closeReason:Ljavax/net/ssl/SSLException;
            athrow
        end local 4 // int oldState
        end local 3 // java.lang.Throwable cause
        end local 2 // java.lang.String diagnostic
        end local 1 // byte description
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   42     0         this  Lsun/security/ssl/SSLEngineImpl;
            0   42     1  description  B
            0   42     2   diagnostic  Ljava/lang/String;
            0   42     3        cause  Ljava/lang/Throwable;
           22   42     4     oldState  I
    Exceptions:
      throws javax.net.ssl.SSLException
    MethodParameters:
             Name  Flags
      description  
      diagnostic   
      cause        

  private void recvAlert();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 1696
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
            invokevirtual sun.security.ssl.EngineInputRecord.read:()I
            i2b
            istore 1 /* level */
        start local 1 // byte level
         1: .line 1697
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
            invokevirtual sun.security.ssl.EngineInputRecord.read:()I
            i2b
            istore 2 /* description */
        start local 2 // byte description
         2: .line 1698
            iload 2 /* description */
            iconst_m1
            if_icmpne 4
         3: .line 1699
            aload 0 /* this */
            bipush 47
            ldc "Short alert message"
            invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;)V
         4: .line 1702
      StackMap locals: int int
      StackMap stack:
            getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
            ifnull 21
            ldc "record"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifne 6
         5: .line 1703
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 21
         6: .line 1704
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            dup
            astore 3
            monitorenter
         7: .line 1705
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         8: .line 1706
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc ", RECV "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " ALERT:  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         9: .line 1707
            iload 1 /* level */
            iconst_2
            if_icmpne 12
        10: .line 1708
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "fatal, "
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        11: .line 1709
            goto 16
      StackMap locals: java.io.PrintStream
      StackMap stack:
        12: iload 1 /* level */
            iconst_1
            if_icmpne 15
        13: .line 1710
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "warning, "
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        14: .line 1711
            goto 16
        15: .line 1712
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "<level "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            sipush 255
            iload 1 /* level */
            iand
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ">, "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        16: .line 1714
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            iload 2 /* description */
            invokestatic sun.security.ssl.Alerts.alertDescription:(B)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        17: .line 1704
            aload 3
            monitorexit
        18: goto 21
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: aload 3
            monitorexit
        20: athrow
        21: .line 1718
      StackMap locals:
      StackMap stack:
            iload 1 /* level */
            iconst_1
            if_icmpne 34
        22: .line 1719
            iload 2 /* description */
            ifne 31
        23: .line 1720
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_1
            if_icmpne 28
        24: .line 1721
            aload 0 /* this */
            bipush 10
        25: .line 1722
            ldc "Received close_notify during handshake"
        26: .line 1721
            invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;)V
        27: .line 1723
            goto 40
        28: .line 1724
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.SSLEngineImpl.recvCN:Z
        29: .line 1725
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.closeInboundInternal:()V
        30: .line 1727
            goto 40
        31: .line 1735
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            ifnull 40
        32: .line 1736
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            iload 2 /* description */
            invokevirtual sun.security.ssl.Handshaker.handshakeAlert:(B)V
        33: .line 1739
            goto 40
        34: .line 1740
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Received fatal alert: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        35: .line 1741
            iload 2 /* description */
            invokestatic sun.security.ssl.Alerts.alertDescription:(B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        36: .line 1740
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* reason */
        start local 3 // java.lang.String reason
        37: .line 1742
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.closeReason:Ljavax/net/ssl/SSLException;
            ifnonnull 39
        38: .line 1743
            aload 0 /* this */
            iload 2 /* description */
            aload 3 /* reason */
            invokestatic sun.security.ssl.Alerts.getSSLException:(BLjava/lang/String;)Ljavax/net/ssl/SSLException;
            putfield sun.security.ssl.SSLEngineImpl.closeReason:Ljavax/net/ssl/SSLException;
        39: .line 1745
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            bipush 10
            aload 3 /* reason */
            invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;)V
        end local 3 // java.lang.String reason
        40: .line 1747
      StackMap locals:
      StackMap stack:
            return
        end local 2 // byte description
        end local 1 // byte level
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   41     0         this  Lsun/security/ssl/SSLEngineImpl;
            1   41     1        level  B
            2   41     2  description  B
           37   40     3       reason  Ljava/lang/String;
      Exception table:
        from    to  target  type
           7    18      19  any
          19    20      19  any
    Exceptions:
      throws java.io.IOException

  private void sendAlert(byte, byte);
    descriptor: (BB)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // byte level
        start local 2 // byte description
         0: .line 1755
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            bipush 6
            if_icmplt 2
         1: .line 1756
            return
         2: .line 1761
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            iconst_1
            if_icmpne 5
         3: .line 1762
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            ifnull 4
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.started:()Z
            ifne 5
         4: .line 1763
      StackMap locals:
      StackMap stack:
            return
         5: .line 1766
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.EngineOutputRecord
            dup
            bipush 21
            aload 0 /* this */
            invokespecial sun.security.ssl.EngineOutputRecord.<init>:(BLsun/security/ssl/SSLEngineImpl;)V
            astore 3 /* r */
        start local 3 // sun.security.ssl.EngineOutputRecord r
         6: .line 1767
            aload 3 /* r */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.EngineOutputRecord.setVersion:(Lsun/security/ssl/ProtocolVersion;)V
         7: .line 1769
            getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
            ifnull 8
            ldc "ssl"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 8
            iconst_1
            goto 9
      StackMap locals: sun.security.ssl.EngineOutputRecord
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: istore 4 /* useDebug */
        start local 4 // boolean useDebug
        10: .line 1770
            iload 4 /* useDebug */
            ifeq 28
        11: .line 1771
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            dup
            astore 5
            monitorenter
        12: .line 1772
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        13: .line 1773
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc ", SEND "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " ALERT:  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        14: .line 1774
            iload 1 /* level */
            iconst_2
            if_icmpne 17
        15: .line 1775
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "fatal, "
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        16: .line 1776
            goto 21
      StackMap locals: int java.io.PrintStream
      StackMap stack:
        17: iload 1 /* level */
            iconst_1
            if_icmpne 20
        18: .line 1777
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "warning, "
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        19: .line 1778
            goto 21
        20: .line 1779
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "<level = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            sipush 255
            iload 1 /* level */
            iand
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ">, "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        21: .line 1781
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "description = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        22: .line 1782
            iload 2 /* description */
            invokestatic sun.security.ssl.Alerts.alertDescription:(B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 1781
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        24: .line 1771
            aload 5
            monitorexit
        25: goto 28
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: aload 5
            monitorexit
        27: athrow
        28: .line 1786
      StackMap locals:
      StackMap stack:
            aload 3 /* r */
            iload 1 /* level */
            invokevirtual sun.security.ssl.EngineOutputRecord.write:(I)V
        29: .line 1787
            aload 3 /* r */
            iload 2 /* description */
            invokevirtual sun.security.ssl.EngineOutputRecord.write:(I)V
        30: .line 1789
            aload 0 /* this */
            aload 3 /* r */
            invokevirtual sun.security.ssl.SSLEngineImpl.writeRecord:(Lsun/security/ssl/EngineOutputRecord;)V
        31: .line 1790
            goto 37
      StackMap locals:
      StackMap stack: java.io.IOException
        32: astore 5 /* e */
        start local 5 // java.io.IOException e
        33: .line 1791
            iload 4 /* useDebug */
            ifeq 37
        34: .line 1792
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        35: .line 1793
            ldc ", Exception sending alert: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 1792
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 5 // java.io.IOException e
        37: .line 1796
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean useDebug
        end local 3 // sun.security.ssl.EngineOutputRecord r
        end local 2 // byte description
        end local 1 // byte level
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   38     0         this  Lsun/security/ssl/SSLEngineImpl;
            0   38     1        level  B
            0   38     2  description  B
            6   38     3            r  Lsun/security/ssl/EngineOutputRecord;
           10   38     4     useDebug  Z
           33   37     5            e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          12    25      26  any
          26    27      26  any
          30    31      32  Class java.io.IOException
    MethodParameters:
             Name  Flags
      level        
      description  

  public synchronized void setEnableSessionCreation(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // boolean flag
         0: .line 1813
            aload 0 /* this */
            iload 1 /* flag */
            putfield sun.security.ssl.SSLEngineImpl.enableSessionCreation:Z
         1: .line 1815
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            ifnull 3
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.activated:()Z
            ifne 3
         2: .line 1816
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.enableSessionCreation:Z
            invokevirtual sun.security.ssl.Handshaker.setEnableSessionCreation:(Z)V
         3: .line 1818
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean flag
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/ssl/SSLEngineImpl;
            0    4     1  flag  Z
    MethodParameters:
      Name  Flags
      flag  

  public synchronized boolean getEnableSessionCreation();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 1825
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.enableSessionCreation:Z
            ireturn
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLEngineImpl;

  public synchronized void setNeedClientAuth(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // boolean flag
         0: .line 1838
            aload 0 /* this */
            iload 1 /* flag */
            ifeq 2
         1: .line 1839
            iconst_2
            goto 3
      StackMap locals:
      StackMap stack: sun.security.ssl.SSLEngineImpl
         2: iconst_0
         3: .line 1838
      StackMap locals: sun.security.ssl.SSLEngineImpl int
      StackMap stack: sun.security.ssl.SSLEngineImpl int
            putfield sun.security.ssl.SSLEngineImpl.doClientAuth:B
         4: .line 1841
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            ifnull 8
         5: .line 1842
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            instanceof sun.security.ssl.ServerHandshaker
            ifeq 8
         6: .line 1843
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.activated:()Z
            ifne 8
         7: .line 1844
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            checkcast sun.security.ssl.ServerHandshaker
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.doClientAuth:B
            invokevirtual sun.security.ssl.ServerHandshaker.setClientAuth:(B)V
         8: .line 1846
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean flag
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/security/ssl/SSLEngineImpl;
            0    9     1  flag  Z
    MethodParameters:
      Name  Flags
      flag  

  public synchronized boolean getNeedClientAuth();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 1849
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.doClientAuth:B
            iconst_2
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/ssl/SSLEngineImpl;

  public synchronized void setWantClientAuth(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // boolean flag
         0: .line 1861
            aload 0 /* this */
            iload 1 /* flag */
            ifeq 2
         1: .line 1862
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack: sun.security.ssl.SSLEngineImpl
         2: iconst_0
         3: .line 1861
      StackMap locals: sun.security.ssl.SSLEngineImpl int
      StackMap stack: sun.security.ssl.SSLEngineImpl int
            putfield sun.security.ssl.SSLEngineImpl.doClientAuth:B
         4: .line 1864
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            ifnull 8
         5: .line 1865
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            instanceof sun.security.ssl.ServerHandshaker
            ifeq 8
         6: .line 1866
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.activated:()Z
            ifne 8
         7: .line 1867
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            checkcast sun.security.ssl.ServerHandshaker
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.doClientAuth:B
            invokevirtual sun.security.ssl.ServerHandshaker.setClientAuth:(B)V
         8: .line 1869
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean flag
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/security/ssl/SSLEngineImpl;
            0    9     1  flag  Z
    MethodParameters:
      Name  Flags
      flag  

  public synchronized boolean getWantClientAuth();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 1872
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.doClientAuth:B
            iconst_1
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/ssl/SSLEngineImpl;

  public synchronized void setUseClientMode(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // boolean flag
         0: .line 1883
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            tableswitch { // 0 - 1
                    0: 1
                    1: 21
              default: 36
          }
         1: .line 1892
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
            iload 1 /* flag */
            ifeq 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack: int
         2: iconst_1
      StackMap locals: sun.security.ssl.SSLEngineImpl int
      StackMap stack: int int
         3: if_icmpeq 16
         4: .line 1893
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
            invokevirtual sun.security.ssl.SSLContextImpl.isDefaultProtocolList:(Lsun/security/ssl/ProtocolList;)Z
            ifeq 10
         5: .line 1894
            aload 0 /* this */
         6: .line 1895
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
            iload 1 /* flag */
            ifeq 7
            iconst_0
            goto 8
      StackMap locals: sun.security.ssl.SSLEngineImpl int
      StackMap stack: sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl
         7: iconst_1
      StackMap locals: sun.security.ssl.SSLEngineImpl int
      StackMap stack: sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl int
         8: invokevirtual sun.security.ssl.SSLContextImpl.getDefaultProtocolList:(Z)Lsun/security/ssl/ProtocolList;
         9: .line 1894
            putfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
        10: .line 1898
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
            invokevirtual sun.security.ssl.SSLContextImpl.isDefaultCipherSuiteList:(Lsun/security/ssl/CipherSuiteList;)Z
            ifeq 16
        11: .line 1899
            aload 0 /* this */
        12: .line 1900
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
            iload 1 /* flag */
            ifeq 13
            iconst_0
            goto 14
      StackMap locals: sun.security.ssl.SSLEngineImpl int
      StackMap stack: sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl
        13: iconst_1
      StackMap locals: sun.security.ssl.SSLEngineImpl int
      StackMap stack: sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl int
        14: invokevirtual sun.security.ssl.SSLContextImpl.getDefaultCipherSuiteList:(Z)Lsun/security/ssl/CipherSuiteList;
        15: .line 1899
            putfield sun.security.ssl.SSLEngineImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
        16: .line 1904
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* flag */
            ifeq 17
            iconst_0
            goto 18
      StackMap locals:
      StackMap stack: sun.security.ssl.SSLEngineImpl
        17: iconst_1
      StackMap locals: sun.security.ssl.SSLEngineImpl int
      StackMap stack: sun.security.ssl.SSLEngineImpl int
        18: putfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
        19: .line 1905
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.SSLEngineImpl.serverModeSet:Z
        20: .line 1906
            goto 44
        21: .line 1916
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.SSLEngineImpl.$assertionsDisabled:Z
            ifne 22
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            ifnonnull 22
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        22: .line 1917
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.activated:()Z
            ifne 36
        23: .line 1923
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
            iload 1 /* flag */
            ifeq 24
            iconst_0
            goto 25
      StackMap locals:
      StackMap stack: int
        24: iconst_1
      StackMap locals: sun.security.ssl.SSLEngineImpl int
      StackMap stack: int int
        25: if_icmpeq 30
        26: .line 1924
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
            invokevirtual sun.security.ssl.SSLContextImpl.isDefaultProtocolList:(Lsun/security/ssl/ProtocolList;)Z
            ifeq 30
        27: .line 1925
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
            iload 1 /* flag */
            ifeq 28
            iconst_0
            goto 29
      StackMap locals: sun.security.ssl.SSLEngineImpl int
      StackMap stack: sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl
        28: iconst_1
      StackMap locals: sun.security.ssl.SSLEngineImpl int
      StackMap stack: sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl int
        29: invokevirtual sun.security.ssl.SSLContextImpl.getDefaultProtocolList:(Z)Lsun/security/ssl/ProtocolList;
            putfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
        30: .line 1928
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* flag */
            ifeq 31
            iconst_0
            goto 32
      StackMap locals:
      StackMap stack: sun.security.ssl.SSLEngineImpl
        31: iconst_1
      StackMap locals: sun.security.ssl.SSLEngineImpl int
      StackMap stack: sun.security.ssl.SSLEngineImpl int
        32: putfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
        33: .line 1929
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.SSLEngineImpl.connectionState:I
        34: .line 1930
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.initHandshaker:()V
        35: .line 1931
            goto 44
        36: .line 1937
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
            ifnull 41
            ldc "ssl"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 41
        37: .line 1938
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        38: .line 1939
            ldc ", setUseClientMode() invoked in state = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        39: .line 1940
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.connectionState:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        40: .line 1938
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        41: .line 1947
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        42: .line 1948
            ldc "Cannot change mode after SSL traffic has started"
        43: .line 1947
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        44: .line 1950
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean flag
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   45     0  this  Lsun/security/ssl/SSLEngineImpl;
            0   45     1  flag  Z
    MethodParameters:
      Name  Flags
      flag  

  public synchronized boolean getUseClientMode();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 1953
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/ssl/SSLEngineImpl;

  public java.lang.String[] getSupportedCipherSuites();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 1968
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getSupportedCipherSuiteList:()Lsun/security/ssl/CipherSuiteList;
            invokevirtual sun.security.ssl.CipherSuiteList.toStringArray:()[Ljava/lang/String;
            areturn
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLEngineImpl;

  public synchronized void setEnabledCipherSuites(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // java.lang.String[] suites
         0: .line 1981
            aload 0 /* this */
            new sun.security.ssl.CipherSuiteList
            dup
            aload 1 /* suites */
            invokespecial sun.security.ssl.CipherSuiteList.<init>:([Ljava/lang/String;)V
            putfield sun.security.ssl.SSLEngineImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
         1: .line 1982
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            ifnull 3
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.activated:()Z
            ifne 3
         2: .line 1983
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
            invokevirtual sun.security.ssl.Handshaker.setEnabledCipherSuites:(Lsun/security/ssl/CipherSuiteList;)V
         3: .line 1985
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String[] suites
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/security/ssl/SSLEngineImpl;
            0    4     1  suites  [Ljava/lang/String;
    MethodParameters:
        Name  Flags
      suites  

  public synchronized java.lang.String[] getEnabledCipherSuites();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 1998
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
            invokevirtual sun.security.ssl.CipherSuiteList.toStringArray:()[Ljava/lang/String;
            areturn
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLEngineImpl;

  public java.lang.String[] getSupportedProtocols();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 2008
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getSuportedProtocolList:()Lsun/security/ssl/ProtocolList;
            invokevirtual sun.security.ssl.ProtocolList.toStringArray:()[Ljava/lang/String;
            areturn
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLEngineImpl;

  public synchronized void setEnabledProtocols(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // java.lang.String[] protocols
         0: .line 2021
            aload 0 /* this */
            new sun.security.ssl.ProtocolList
            dup
            aload 1 /* protocols */
            invokespecial sun.security.ssl.ProtocolList.<init>:([Ljava/lang/String;)V
            putfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
         1: .line 2022
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            ifnull 3
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.activated:()Z
            ifne 3
         2: .line 2023
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
            invokevirtual sun.security.ssl.Handshaker.setEnabledProtocols:(Lsun/security/ssl/ProtocolList;)V
         3: .line 2025
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String[] protocols
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lsun/security/ssl/SSLEngineImpl;
            0    4     1  protocols  [Ljava/lang/String;
    MethodParameters:
           Name  Flags
      protocols  

  public synchronized java.lang.String[] getEnabledProtocols();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 2028
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
            invokevirtual sun.security.ssl.ProtocolList.toStringArray:()[Ljava/lang/String;
            areturn
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLEngineImpl;

  public synchronized javax.net.ssl.SSLParameters getSSLParameters();
    descriptor: ()Ljavax/net/ssl/SSLParameters;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 2035
            aload 0 /* this */
            invokespecial javax.net.ssl.SSLEngine.getSSLParameters:()Ljavax/net/ssl/SSLParameters;
            astore 1 /* params */
        start local 1 // javax.net.ssl.SSLParameters params
         1: .line 2038
            aload 1 /* params */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.identificationProtocol:Ljava/lang/String;
            invokevirtual javax.net.ssl.SSLParameters.setEndpointIdentificationAlgorithm:(Ljava/lang/String;)V
         2: .line 2039
            aload 1 /* params */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
            invokevirtual javax.net.ssl.SSLParameters.setAlgorithmConstraints:(Ljava/security/AlgorithmConstraints;)V
         3: .line 2041
            aload 1 /* params */
            areturn
        end local 1 // javax.net.ssl.SSLParameters params
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/security/ssl/SSLEngineImpl;
            1    4     1  params  Ljavax/net/ssl/SSLParameters;

  public synchronized void setSSLParameters(javax.net.ssl.SSLParameters);
    descriptor: (Ljavax/net/ssl/SSLParameters;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLEngineImpl this
        start local 1 // javax.net.ssl.SSLParameters params
         0: .line 2048
            aload 0 /* this */
            aload 1 /* params */
            invokespecial javax.net.ssl.SSLEngine.setSSLParameters:(Ljavax/net/ssl/SSLParameters;)V
         1: .line 2051
            aload 0 /* this */
            aload 1 /* params */
            invokevirtual javax.net.ssl.SSLParameters.getEndpointIdentificationAlgorithm:()Ljava/lang/String;
            putfield sun.security.ssl.SSLEngineImpl.identificationProtocol:Ljava/lang/String;
         2: .line 2052
            aload 0 /* this */
            aload 1 /* params */
            invokevirtual javax.net.ssl.SSLParameters.getAlgorithmConstraints:()Ljava/security/AlgorithmConstraints;
            putfield sun.security.ssl.SSLEngineImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
         3: .line 2053
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            ifnull 6
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            invokevirtual sun.security.ssl.Handshaker.started:()Z
            ifne 6
         4: .line 2054
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.identificationProtocol:Ljava/lang/String;
            invokevirtual sun.security.ssl.Handshaker.setIdentificationProtocol:(Ljava/lang/String;)V
         5: .line 2055
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
            invokevirtual sun.security.ssl.Handshaker.setAlgorithmConstraints:(Ljava/security/AlgorithmConstraints;)V
         6: .line 2057
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.net.ssl.SSLParameters params
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/security/ssl/SSLEngineImpl;
            0    7     1  params  Ljavax/net/ssl/SSLParameters;
    MethodParameters:
        Name  Flags
      params  

  private static java.lang.String threadName();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2063
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.security.ssl.SSLEngineImpl this
         0: .line 2070
            new java.lang.StringBuilder
            dup
            bipush 80
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* retval */
        start local 1 // java.lang.StringBuilder retval
         1: .line 2072
            aload 1 /* retval */
            aload 0 /* this */
            invokevirtual java.lang.Object.hashCode:()I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 2073
            aload 1 /* retval */
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 2074
            aload 1 /* retval */
            ldc "SSLEngine[hostname="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 2075
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.getPeerHost:()Ljava/lang/String;
            astore 2 /* host */
        start local 2 // java.lang.String host
         5: .line 2076
            aload 1 /* retval */
            aload 2 /* host */
            ifnonnull 6
            ldc "null"
            goto 7
      StackMap locals: sun.security.ssl.SSLEngineImpl java.lang.StringBuilder java.lang.String
      StackMap stack: java.lang.StringBuilder
         6: aload 2 /* host */
      StackMap locals: sun.security.ssl.SSLEngineImpl java.lang.StringBuilder java.lang.String
      StackMap stack: java.lang.StringBuilder java.lang.String
         7: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 2077
            aload 1 /* retval */
            ldc " port="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 2078
            aload 1 /* retval */
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.getPeerPort:()I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 2079
            aload 1 /* retval */
            ldc "] "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 2080
            aload 1 /* retval */
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineImpl.getSession:()Ljavax/net/ssl/SSLSession;
            invokeinterface javax.net.ssl.SSLSession.getCipherSuite:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 2081
            aload 1 /* retval */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 2083
            aload 1 /* retval */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String host
        end local 1 // java.lang.StringBuilder retval
        end local 0 // sun.security.ssl.SSLEngineImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lsun/security/ssl/SSLEngineImpl;
            1   14     1  retval  Ljava/lang/StringBuilder;
            5   14     2    host  Ljava/lang/String;
}
SourceFile: "SSLEngineImpl.java"
InnerClasses:
  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
  DelegatedTask = sun.security.ssl.Handshaker$DelegatedTask of sun.security.ssl.Handshaker