final class sun.security.ssl.HandshakeStateManager
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.ssl.HandshakeStateManager
  super_class: java.lang.Object
{
  private java.util.LinkedList<sun.security.ssl.HandshakeStateManager$HandshakeState> upcomingStates;
    descriptor: Ljava/util/LinkedList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/LinkedList<Lsun/security/ssl/HandshakeStateManager$HandshakeState;>;

  private java.util.LinkedList<sun.security.ssl.HandshakeStateManager$HandshakeState> alternatives;
    descriptor: Ljava/util/LinkedList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/LinkedList<Lsun/security/ssl/HandshakeStateManager$HandshakeState;>;

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

  private static final boolean debugIsOn;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.HashMap<java.lang.Byte, java.lang.String> handshakeTypes;
    descriptor: Ljava/util/HashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/Byte;Ljava/lang/String;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 226
            getstatic sun.security.ssl.Handshaker.debug:Lsun/security/ssl/Debug;
            ifnull 2
         1: .line 227
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 2
            ldc "verbose"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
         3: .line 226
      StackMap locals:
      StackMap stack: int
            putstatic sun.security.ssl.HandshakeStateManager.debugIsOn:Z
         4: .line 228
            new java.util.HashMap
            dup
            bipush 15
            invokespecial java.util.HashMap.<init>:(I)V
            putstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
         5: .line 230
            getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
            iconst_0
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            ldc "hello_request"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 231
            getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
            iconst_1
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            ldc "client_hello"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 232
            getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
            iconst_2
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            ldc "server_hello"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 233
            getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
            iconst_3
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            ldc "hello_verify_request"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 234
            getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
            iconst_4
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            ldc "session_ticket"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 235
            getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
            bipush 11
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            ldc "certificate"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 236
            getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
            bipush 12
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            ldc "server_key_exchange"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 237
            getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
            bipush 13
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            ldc "certificate_request"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 238
            getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
            bipush 14
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            ldc "server_hello_done"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 239
            getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
            bipush 15
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            ldc "certificate_verify"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 240
            getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
            bipush 16
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            ldc "client_key_exchange"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 241
            getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
            bipush 20
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            ldc "finished"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 242
            getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
            bipush 21
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            ldc "certificate_url"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 243
            getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
            bipush 22
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            ldc "certificate_status"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 244
            getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
            bipush 23
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            ldc "supplemental_data"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 245
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.ssl.HandshakeStateManager this
        start local 1 // boolean isDTLS
         0: .line 247
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 248
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
         2: .line 249
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
         3: .line 250
            aload 0 /* this */
            iload 1 /* isDTLS */
            putfield sun.security.ssl.HandshakeStateManager.isDTLS:Z
         4: .line 251
            return
        end local 1 // boolean isDTLS
        end local 0 // sun.security.ssl.HandshakeStateManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/security/ssl/HandshakeStateManager;
            0    5     1  isDTLS  Z
    MethodParameters:
        Name  Flags
      isDTLS  

  boolean isEmpty();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.HandshakeStateManager this
         0: .line 343
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ireturn
        end local 0 // sun.security.ssl.HandshakeStateManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/HandshakeStateManager;

  java.util.List<java.lang.Byte> check(byte);
    descriptor: (B)Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // sun.security.ssl.HandshakeStateManager this
        start local 1 // byte handshakeType
         0: .line 347
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 2 /* ignoredOptional */
        start local 2 // java.util.List ignoredOptional
         1: .line 349
            new java.lang.StringBuilder
            dup
            ldc "Handshake message sequence violation, "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* handshakeType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         2: .line 348
            astore 3 /* exceptionMsg */
        start local 3 // java.lang.String exceptionMsg
         3: .line 351
            getstatic sun.security.ssl.HandshakeStateManager.debugIsOn:Z
            ifeq 7
         4: .line 352
            getstatic java.lang.System.out:Ljava/io/PrintStream;
         5: .line 353
            new java.lang.StringBuilder
            dup
            ldc "check handshake state: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* handshakeType */
            invokestatic sun.security.ssl.HandshakeStateManager.toString:(B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 352
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 356
      StackMap locals: java.util.List java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifeq 14
         8: .line 358
            iload 1 /* handshakeType */
            ifeq 13
         9: .line 359
            iload 1 /* handshakeType */
            iconst_1
            if_icmpeq 13
        10: .line 361
            new javax.net.ssl.SSLProtocolException
            dup
        11: .line 362
            new java.lang.StringBuilder
            dup
            ldc "Handshake message sequence violation, "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* handshakeType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 361
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 366
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        14: .line 371
      StackMap locals:
      StackMap stack:
            iload 1 /* handshakeType */
            ifne 16
        15: .line 372
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        16: .line 375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 32
      StackMap locals: sun.security.ssl.HandshakeStateManager int java.util.List java.lang.String top java.util.Iterator
      StackMap stack:
        17: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
            astore 4 /* handshakeState */
        start local 4 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
        18: .line 376
            aload 4 /* handshakeState */
            getfield sun.security.ssl.HandshakeStateManager$HandshakeState.handshakeType:B
            iload 1 /* handshakeType */
            if_icmpne 20
        19: .line 378
            aload 2 /* ignoredOptional */
            areturn
        20: .line 381
      StackMap locals: sun.security.ssl.HandshakeStateManager int java.util.List java.lang.String sun.security.ssl.HandshakeStateManager$HandshakeState java.util.Iterator
      StackMap stack:
            aload 4 /* handshakeState */
            getfield sun.security.ssl.HandshakeStateManager$HandshakeState.isOptional:Z
            ifeq 23
        21: .line 382
            aload 2 /* ignoredOptional */
            aload 4 /* handshakeState */
            getfield sun.security.ssl.HandshakeStateManager$HandshakeState.handshakeType:B
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        22: .line 383
            goto 32
        23: .line 385
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 7
            goto 30
      StackMap locals: sun.security.ssl.HandshakeStateManager int java.util.List java.lang.String sun.security.ssl.HandshakeStateManager$HandshakeState java.util.Iterator top java.util.Iterator
      StackMap stack:
        24: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
            astore 6 /* alternative */
        start local 6 // sun.security.ssl.HandshakeStateManager$HandshakeState alternative
        25: .line 386
            aload 6 /* alternative */
            getfield sun.security.ssl.HandshakeStateManager$HandshakeState.handshakeType:B
            iload 1 /* handshakeType */
            if_icmpne 27
        26: .line 387
            aload 2 /* ignoredOptional */
            areturn
        27: .line 390
      StackMap locals: sun.security.ssl.HandshakeStateManager int java.util.List java.lang.String sun.security.ssl.HandshakeStateManager$HandshakeState java.util.Iterator sun.security.ssl.HandshakeStateManager$HandshakeState java.util.Iterator
      StackMap stack:
            aload 6 /* alternative */
            getfield sun.security.ssl.HandshakeStateManager$HandshakeState.isOptional:Z
            ifeq 29
        28: .line 391
            goto 30
        29: .line 393
      StackMap locals:
      StackMap stack:
            new javax.net.ssl.SSLProtocolException
            dup
            aload 3 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // sun.security.ssl.HandshakeStateManager$HandshakeState alternative
        30: .line 385
      StackMap locals: sun.security.ssl.HandshakeStateManager int java.util.List java.lang.String sun.security.ssl.HandshakeStateManager$HandshakeState java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        31: .line 398
            new javax.net.ssl.SSLProtocolException
            dup
            aload 3 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
        32: .line 375
      StackMap locals: sun.security.ssl.HandshakeStateManager int java.util.List java.lang.String top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        33: .line 402
            new javax.net.ssl.SSLProtocolException
            dup
        34: .line 403
            new java.lang.StringBuilder
            dup
            ldc "Handshake message sequence violation, "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* handshakeType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        35: .line 402
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String exceptionMsg
        end local 2 // java.util.List ignoredOptional
        end local 1 // byte handshakeType
        end local 0 // sun.security.ssl.HandshakeStateManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   36     0             this  Lsun/security/ssl/HandshakeStateManager;
            0   36     1    handshakeType  B
            1   36     2  ignoredOptional  Ljava/util/List<Ljava/lang/Byte;>;
            3   36     3     exceptionMsg  Ljava/lang/String;
           18   32     4   handshakeState  Lsun/security/ssl/HandshakeStateManager$HandshakeState;
           25   30     6      alternative  Lsun/security/ssl/HandshakeStateManager$HandshakeState;
    Exceptions:
      throws javax.net.ssl.SSLProtocolException
    Signature: (B)Ljava/util/List<Ljava/lang/Byte;>;
    MethodParameters:
               Name  Flags
      handshakeType  

  void update(sun.security.ssl.HandshakeMessage, boolean);
    descriptor: (Lsun/security/ssl/HandshakeMessage;Z)V
    flags: (0x0000) 
    Code:
      stack=4, locals=12, args_size=3
        start local 0 // sun.security.ssl.HandshakeStateManager this
        start local 1 // sun.security.ssl.HandshakeMessage handshakeMessage
        start local 2 // boolean isAbbreviated
         0: .line 409
            aload 1 /* handshakeMessage */
            invokevirtual sun.security.ssl.HandshakeMessage.messageType:()I
            i2b
            istore 3 /* handshakeType */
        start local 3 // byte handshakeType
         1: .line 411
            new java.lang.StringBuilder
            dup
            ldc "Handshake message sequence violation, "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* handshakeType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         2: .line 410
            astore 4 /* exceptionMsg */
        start local 4 // java.lang.String exceptionMsg
         3: .line 413
            getstatic sun.security.ssl.HandshakeStateManager.debugIsOn:Z
            ifeq 7
         4: .line 414
            getstatic java.lang.System.out:Ljava/io/PrintStream;
         5: .line 415
            new java.lang.StringBuilder
            dup
            ldc "update handshake state: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* handshakeType */
            invokestatic sun.security.ssl.HandshakeStateManager.toString:(B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 414
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 418
      StackMap locals: int java.lang.String
      StackMap stack:
            iconst_0
            istore 5 /* hasPresentState */
        start local 5 // boolean hasPresentState
         8: .line 419
            iload 3 /* handshakeType */
            lookupswitch { // 6
                    0: 9
                    1: 12
                    2: 42
                    3: 31
                   11: 86
                   21: 108
              default: 126
          }
         9: .line 430
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifne 136
        10: .line 432
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_HELLO:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        11: .line 436
            goto 136
        12: .line 448
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifne 16
        13: .line 450
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
            checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
            astore 6 /* handshakeState */
        start local 6 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
        14: .line 451
            aload 6 /* handshakeState */
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_HELLO:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            if_acmpeq 16
        15: .line 452
            new javax.net.ssl.SSLProtocolException
            dup
            aload 4 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
        16: .line 457
      StackMap locals:
      StackMap stack:
            aload 1 /* handshakeMessage */
            checkcast sun.security.ssl.HandshakeMessage$ClientHello
            astore 6 /* clientHello */
        start local 6 // sun.security.ssl.HandshakeMessage$ClientHello clientHello
        17: .line 458
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.isDTLS:Z
            ifeq 29
        18: .line 460
            aload 6 /* clientHello */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.cookie:[B
            ifnull 20
        19: .line 461
            aload 6 /* clientHello */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.cookie:[B
            arraylength
            ifne 26
        20: .line 463
      StackMap locals: sun.security.ssl.HandshakeMessage$ClientHello
      StackMap stack:
            aload 6 /* clientHello */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.sessionId:Lsun/security/ssl/SessionId;
            invokevirtual sun.security.ssl.SessionId.length:()I
            ifeq 24
        21: .line 467
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_HELLO_VERIFY_REQUEST:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        22: .line 468
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_HELLO:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        23: .line 469
            goto 136
        24: .line 472
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_HELLO_VERIFY_REQUEST:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        25: .line 474
            goto 136
        26: .line 477
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_HELLO:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        27: .line 478
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_HELLO_VERIFY_REQUEST:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        28: .line 480
            goto 136
        29: .line 481
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_HELLO:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        30: .line 484
            goto 136
        end local 6 // sun.security.ssl.HandshakeMessage$ClientHello clientHello
        31: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifne 39
        32: .line 497
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
            checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
            astore 7 /* handshakeState */
        start local 7 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
        33: .line 498
            aconst_null
            astore 8 /* alternative */
        start local 8 // sun.security.ssl.HandshakeStateManager$HandshakeState alternative
        34: .line 499
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifne 36
        35: .line 500
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
            checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
            astore 8 /* alternative */
        36: .line 503
      StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int top sun.security.ssl.HandshakeStateManager$HandshakeState sun.security.ssl.HandshakeStateManager$HandshakeState
      StackMap stack:
            aload 7 /* handshakeState */
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_HELLO_VERIFY_REQUEST:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            if_acmpeq 40
        37: .line 504
            aload 8 /* alternative */
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_HELLO_VERIFY_REQUEST:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            if_acmpeq 40
        38: .line 506
            new javax.net.ssl.SSLProtocolException
            dup
            aload 4 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // sun.security.ssl.HandshakeStateManager$HandshakeState alternative
        end local 7 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
        39: .line 510
      StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int
      StackMap stack:
            new javax.net.ssl.SSLProtocolException
            dup
            aload 4 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        40: .line 514
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_HELLO:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        41: .line 516
            goto 136
        42: .line 554
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifne 50
        43: .line 556
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
            checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
            astore 7 /* handshakeState */
        start local 7 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
        44: .line 557
            aconst_null
            astore 8 /* alternative */
        start local 8 // sun.security.ssl.HandshakeStateManager$HandshakeState alternative
        45: .line 558
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifne 47
        46: .line 559
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
            checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
            astore 8 /* alternative */
        47: .line 562
      StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int top sun.security.ssl.HandshakeStateManager$HandshakeState sun.security.ssl.HandshakeStateManager$HandshakeState
      StackMap stack:
            aload 7 /* handshakeState */
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_HELLO:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            if_acmpeq 51
        48: .line 563
            aload 8 /* alternative */
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_HELLO:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            if_acmpeq 51
        49: .line 565
            new javax.net.ssl.SSLProtocolException
            dup
            aload 4 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // sun.security.ssl.HandshakeStateManager$HandshakeState alternative
        end local 7 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
        50: .line 569
      StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int
      StackMap stack:
            new javax.net.ssl.SSLProtocolException
            dup
            aload 4 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        51: .line 573
      StackMap locals:
      StackMap stack:
            aload 1 /* handshakeMessage */
            checkcast sun.security.ssl.HandshakeMessage$ServerHello
            astore 7 /* serverHello */
        start local 7 // sun.security.ssl.HandshakeMessage$ServerHello serverHello
        52: .line 574
            aload 7 /* serverHello */
            getfield sun.security.ssl.HandshakeMessage$ServerHello.extensions:Lsun/security/ssl/HelloExtensions;
            astore 8 /* hes */
        start local 8 // sun.security.ssl.HelloExtensions hes
        53: .line 582
            iload 2 /* isAbbreviated */
            ifeq 59
        54: .line 591
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_CHANGE_CIPHER_SPEC:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        55: .line 592
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_FINISHED:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        56: .line 595
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_CHANGE_CIPHER_SPEC:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        57: .line 596
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLEINT_FINISHED:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        58: .line 597
            goto 136
        59: .line 617
      StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int top sun.security.ssl.HandshakeMessage$ServerHello sun.security.ssl.HelloExtensions
      StackMap stack:
            aload 7 /* serverHello */
            getfield sun.security.ssl.HandshakeMessage$ServerHello.cipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            astore 9 /* keyExchange */
        start local 9 // sun.security.ssl.CipherSuite$KeyExchange keyExchange
        60: .line 618
            aload 9 /* keyExchange */
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 65
        61: .line 619
            aload 9 /* keyExchange */
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5_EXPORT:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 65
        62: .line 620
            aload 9 /* keyExchange */
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 65
        63: .line 621
            aload 9 /* keyExchange */
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 65
        64: .line 623
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_CERTIFICATE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        65: .line 627
      StackMap locals: sun.security.ssl.CipherSuite$KeyExchange
      StackMap stack:
            aload 8 /* hes */
            getstatic sun.security.ssl.ExtensionType.EXT_STATUS_REQUEST:Lsun/security/ssl/ExtensionType;
            invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
            ifnonnull 67
        66: .line 628
            aload 8 /* hes */
            getstatic sun.security.ssl.ExtensionType.EXT_STATUS_REQUEST_V2:Lsun/security/ssl/ExtensionType;
            invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
            ifnull 68
        67: .line 629
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CERTIFICATE_STATUS:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        68: .line 633
      StackMap locals:
      StackMap stack:
            aload 9 /* keyExchange */
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_RSA_EXPORT:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 75
        69: .line 634
            aload 9 /* keyExchange */
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DHE_RSA:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 75
        70: .line 635
            aload 9 /* keyExchange */
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DHE_DSS:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 75
        71: .line 636
            aload 9 /* keyExchange */
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 75
        72: .line 637
            aload 9 /* keyExchange */
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDHE_RSA:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 75
        73: .line 638
            aload 9 /* keyExchange */
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDHE_ECDSA:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 75
        74: .line 639
            aload 9 /* keyExchange */
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpne 76
        75: .line 641
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_KEY_EXCHANGE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        76: .line 645
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CERTIFICATE_REQUEST:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        77: .line 648
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_HELLO_DONE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        78: .line 658
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_CERTIFICATE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        79: .line 672
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_KEY_EXCHANGE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        80: .line 675
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CERTIFICATE_VERIFY:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        81: .line 678
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_CHANGE_CIPHER_SPEC:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        82: .line 679
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLEINT_FINISHED:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        83: .line 689
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_CHANGE_CIPHER_SPEC:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        84: .line 690
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_FINISHED:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // sun.security.ssl.CipherSuite$KeyExchange keyExchange
        85: .line 693
            goto 136
        end local 8 // sun.security.ssl.HelloExtensions hes
        end local 7 // sun.security.ssl.HandshakeMessage$ServerHello serverHello
        86: .line 713
      StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int
      StackMap stack:
            goto 105
        87: .line 714
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
            checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
            astore 9 /* handshakeState */
        start local 9 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
        88: .line 715
            aload 9 /* handshakeState */
            getfield sun.security.ssl.HandshakeStateManager$HandshakeState.handshakeType:B
            iload 3 /* handshakeType */
            if_icmpne 103
        89: .line 716
            iconst_1
            istore 5 /* hasPresentState */
        90: .line 723
            aload 9 /* handshakeState */
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_CERTIFICATE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            if_acmpeq 93
        91: .line 724
            aload 9 /* handshakeState */
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_CERTIFICATE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            if_acmpeq 93
        92: .line 725
            new javax.net.ssl.SSLProtocolException
            dup
            aload 4 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        93: .line 729
      StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int top top top sun.security.ssl.HandshakeStateManager$HandshakeState
      StackMap stack:
            iconst_0
            istore 10 /* isClientMessage */
        start local 10 // boolean isClientMessage
        94: .line 730
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifne 98
        95: .line 734
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.getFirst:()Ljava/lang/Object;
            checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
            astore 11 /* nextState */
        start local 11 // sun.security.ssl.HandshakeStateManager$HandshakeState nextState
        96: .line 735
            aload 11 /* nextState */
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_KEY_EXCHANGE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            if_acmpne 98
        97: .line 736
            iconst_1
            istore 10 /* isClientMessage */
        end local 11 // sun.security.ssl.HandshakeStateManager$HandshakeState nextState
        98: .line 740
      StackMap locals: int
      StackMap stack:
            iload 10 /* isClientMessage */
            ifeq 101
        99: .line 741
            aload 9 /* handshakeState */
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_CERTIFICATE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            if_acmpeq 106
       100: .line 742
            new javax.net.ssl.SSLProtocolException
            dup
            aload 4 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
       101: .line 757
      StackMap locals:
      StackMap stack:
            aload 9 /* handshakeState */
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_CERTIFICATE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            if_acmpeq 106
       102: .line 758
            new javax.net.ssl.SSLProtocolException
            dup
            aload 4 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // boolean isClientMessage
       103: .line 763
      StackMap locals:
      StackMap stack:
            aload 9 /* handshakeState */
            getfield sun.security.ssl.HandshakeStateManager$HandshakeState.isOptional:Z
            ifne 105
       104: .line 764
            new javax.net.ssl.SSLProtocolException
            dup
            aload 4 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
       105: .line 713
      StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifeq 87
       106: .line 769
      StackMap locals:
      StackMap stack:
            iload 5 /* hasPresentState */
            ifne 136
       107: .line 770
            new javax.net.ssl.SSLProtocolException
            dup
            aload 4 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
       108: .line 789
      StackMap locals:
      StackMap stack:
            goto 123
       109: .line 794
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
            checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
            astore 9 /* handshakeState */
        start local 9 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
       110: .line 795
            aload 9 /* handshakeState */
            getfield sun.security.ssl.HandshakeStateManager$HandshakeState.handshakeType:B
       111: .line 796
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_CERTIFICATE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            getfield sun.security.ssl.HandshakeStateManager$HandshakeState.handshakeType:B
       112: .line 795
            if_icmpne 121
       113: .line 797
            iconst_1
            istore 5 /* hasPresentState */
       114: .line 800
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifne 118
       115: .line 801
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
            checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
            astore 10 /* alternative */
        start local 10 // sun.security.ssl.HandshakeStateManager$HandshakeState alternative
       116: .line 803
            aload 10 /* alternative */
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CERTIFICATE_URL:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            if_acmpeq 119
       117: .line 804
            new javax.net.ssl.SSLProtocolException
            dup
            aload 4 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // sun.security.ssl.HandshakeStateManager$HandshakeState alternative
       118: .line 808
      StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int top top top sun.security.ssl.HandshakeStateManager$HandshakeState
      StackMap stack:
            new javax.net.ssl.SSLProtocolException
            dup
            aload 4 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
       119: .line 811
      StackMap locals:
      StackMap stack:
            aload 9 /* handshakeState */
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_CERTIFICATE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            if_acmpeq 124
       120: .line 812
            new javax.net.ssl.SSLProtocolException
            dup
            aload 4 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
       121: .line 816
      StackMap locals:
      StackMap stack:
            aload 9 /* handshakeState */
            getfield sun.security.ssl.HandshakeStateManager$HandshakeState.isOptional:Z
            ifne 123
       122: .line 817
            new javax.net.ssl.SSLProtocolException
            dup
            aload 4 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
       123: .line 789
      StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifeq 109
       124: .line 823
      StackMap locals:
      StackMap stack:
            iload 5 /* hasPresentState */
            ifne 136
       125: .line 825
            new javax.net.ssl.SSLProtocolException
            dup
            aload 4 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
       126: .line 835
      StackMap locals:
      StackMap stack:
            goto 133
       127: .line 836
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
            checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
            astore 9 /* handshakeState */
        start local 9 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
       128: .line 837
            aload 9 /* handshakeState */
            getfield sun.security.ssl.HandshakeStateManager$HandshakeState.handshakeType:B
            iload 3 /* handshakeType */
            if_icmpne 131
       129: .line 838
            iconst_1
            istore 5 /* hasPresentState */
       130: .line 839
            goto 134
       131: .line 840
      StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int top top top sun.security.ssl.HandshakeStateManager$HandshakeState
      StackMap stack:
            aload 9 /* handshakeState */
            getfield sun.security.ssl.HandshakeStateManager$HandshakeState.isOptional:Z
            ifne 133
       132: .line 841
            new javax.net.ssl.SSLProtocolException
            dup
            aload 4 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
       133: .line 835
      StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifeq 127
       134: .line 846
      StackMap locals:
      StackMap stack:
            iload 5 /* hasPresentState */
            ifne 136
       135: .line 847
            new javax.net.ssl.SSLProtocolException
            dup
            aload 4 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
       136: .line 853
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.HandshakeStateManager.debugIsOn:Z
            ifeq 149
       137: .line 854
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 7
            goto 142
      StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int top java.util.Iterator
      StackMap stack:
       138: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
            astore 6 /* handshakeState */
        start local 6 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
       139: .line 855
            getstatic java.lang.System.out:Ljava/io/PrintStream;
       140: .line 856
            new java.lang.StringBuilder
            dup
            ldc "upcoming handshake states: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* handshakeState */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       141: .line 855
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 6 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
       142: .line 854
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 138
       143: .line 858
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 7
            goto 148
      StackMap locals:
      StackMap stack:
       144: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
            astore 6 /* handshakeState */
        start local 6 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
       145: .line 859
            getstatic java.lang.System.out:Ljava/io/PrintStream;
       146: .line 860
            new java.lang.StringBuilder
            dup
            ldc "upcoming handshake alternative state: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* handshakeState */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       147: .line 859
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 6 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
       148: .line 858
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 144
       149: .line 863
      StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int
      StackMap stack:
            return
        end local 5 // boolean hasPresentState
        end local 4 // java.lang.String exceptionMsg
        end local 3 // byte handshakeType
        end local 2 // boolean isAbbreviated
        end local 1 // sun.security.ssl.HandshakeMessage handshakeMessage
        end local 0 // sun.security.ssl.HandshakeStateManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0  150     0              this  Lsun/security/ssl/HandshakeStateManager;
            0  150     1  handshakeMessage  Lsun/security/ssl/HandshakeMessage;
            0  150     2     isAbbreviated  Z
            1  150     3     handshakeType  B
            3  150     4      exceptionMsg  Ljava/lang/String;
            8  150     5   hasPresentState  Z
           14   16     6    handshakeState  Lsun/security/ssl/HandshakeStateManager$HandshakeState;
           17   31     6       clientHello  Lsun/security/ssl/HandshakeMessage$ClientHello;
           33   39     7    handshakeState  Lsun/security/ssl/HandshakeStateManager$HandshakeState;
           34   39     8       alternative  Lsun/security/ssl/HandshakeStateManager$HandshakeState;
           44   50     7    handshakeState  Lsun/security/ssl/HandshakeStateManager$HandshakeState;
           45   50     8       alternative  Lsun/security/ssl/HandshakeStateManager$HandshakeState;
           52   86     7       serverHello  Lsun/security/ssl/HandshakeMessage$ServerHello;
           53   86     8               hes  Lsun/security/ssl/HelloExtensions;
           60   85     9       keyExchange  Lsun/security/ssl/CipherSuite$KeyExchange;
           88  105     9    handshakeState  Lsun/security/ssl/HandshakeStateManager$HandshakeState;
           94  103    10   isClientMessage  Z
           96   98    11         nextState  Lsun/security/ssl/HandshakeStateManager$HandshakeState;
          110  123     9    handshakeState  Lsun/security/ssl/HandshakeStateManager$HandshakeState;
          116  118    10       alternative  Lsun/security/ssl/HandshakeStateManager$HandshakeState;
          128  133     9    handshakeState  Lsun/security/ssl/HandshakeStateManager$HandshakeState;
          139  142     6    handshakeState  Lsun/security/ssl/HandshakeStateManager$HandshakeState;
          145  148     6    handshakeState  Lsun/security/ssl/HandshakeStateManager$HandshakeState;
    Exceptions:
      throws javax.net.ssl.SSLProtocolException
    MethodParameters:
                  Name  Flags
      handshakeMessage  
      isAbbreviated     

  void changeCipherSpec(boolean, boolean);
    descriptor: (ZZ)V
    flags: (0x0000) 
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // sun.security.ssl.HandshakeStateManager this
        start local 1 // boolean isInput
        start local 2 // boolean isClient
         0: .line 868
            getstatic sun.security.ssl.HandshakeStateManager.debugIsOn:Z
            ifeq 4
         1: .line 869
            getstatic java.lang.System.out:Ljava/io/PrintStream;
         2: .line 870
            ldc "update handshake state: change_cipher_spec"
         3: .line 869
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 873
      StackMap locals:
      StackMap stack:
            ldc "ChangeCipherSpec message sequence violation"
            astore 3 /* exceptionMsg */
        start local 3 // java.lang.String exceptionMsg
         5: .line 876
            iload 2 /* isClient */
            ifeq 6
            iload 1 /* isInput */
            ifne 7
      StackMap locals: java.lang.String
      StackMap stack:
         6: iload 2 /* isClient */
            ifne 9
            iload 1 /* isInput */
            ifne 9
         7: .line 877
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_CHANGE_CIPHER_SPEC:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            astore 4 /* expectedState */
        start local 4 // sun.security.ssl.HandshakeStateManager$HandshakeState expectedState
         8: .line 878
            goto 10
        end local 4 // sun.security.ssl.HandshakeStateManager$HandshakeState expectedState
         9: .line 879
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_CHANGE_CIPHER_SPEC:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
            astore 4 /* expectedState */
        start local 4 // sun.security.ssl.HandshakeStateManager$HandshakeState expectedState
        10: .line 882
      StackMap locals: sun.security.ssl.HandshakeStateManager$HandshakeState
      StackMap stack:
            iconst_0
            istore 5 /* hasPresentState */
        start local 5 // boolean hasPresentState
        11: .line 885
            goto 18
        12: .line 886
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
            checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
            astore 6 /* handshakeState */
        start local 6 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
        13: .line 887
            aload 6 /* handshakeState */
            aload 4 /* expectedState */
            if_acmpne 16
        14: .line 888
            iconst_1
            istore 5 /* hasPresentState */
        15: .line 889
            goto 19
        16: .line 890
      StackMap locals: sun.security.ssl.HandshakeStateManager$HandshakeState
      StackMap stack:
            aload 6 /* handshakeState */
            getfield sun.security.ssl.HandshakeStateManager$HandshakeState.isOptional:Z
            ifne 18
        17: .line 891
            new javax.net.ssl.SSLProtocolException
            dup
            aload 3 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
        18: .line 885
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifeq 12
        19: .line 896
      StackMap locals:
      StackMap stack:
            iload 5 /* hasPresentState */
            ifne 21
        20: .line 897
            new javax.net.ssl.SSLProtocolException
            dup
            aload 3 /* exceptionMsg */
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 902
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.HandshakeStateManager.debugIsOn:Z
            ifeq 34
        22: .line 903
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 7
            goto 27
      StackMap locals: sun.security.ssl.HandshakeStateManager int int java.lang.String sun.security.ssl.HandshakeStateManager$HandshakeState int top java.util.Iterator
      StackMap stack:
        23: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
            astore 6 /* handshakeState */
        start local 6 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
        24: .line 904
            getstatic java.lang.System.out:Ljava/io/PrintStream;
        25: .line 905
            new java.lang.StringBuilder
            dup
            ldc "upcoming handshake states: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* handshakeState */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 904
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 6 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
        27: .line 903
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        28: .line 907
            aload 0 /* this */
            getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 7
            goto 33
      StackMap locals:
      StackMap stack:
        29: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
            astore 6 /* handshakeState */
        start local 6 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
        30: .line 908
            getstatic java.lang.System.out:Ljava/io/PrintStream;
        31: .line 909
            new java.lang.StringBuilder
            dup
            ldc "upcoming handshake alternative state: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* handshakeState */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 908
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 6 // sun.security.ssl.HandshakeStateManager$HandshakeState handshakeState
        33: .line 907
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        34: .line 912
      StackMap locals: sun.security.ssl.HandshakeStateManager int int java.lang.String sun.security.ssl.HandshakeStateManager$HandshakeState int
      StackMap stack:
            return
        end local 5 // boolean hasPresentState
        end local 4 // sun.security.ssl.HandshakeStateManager$HandshakeState expectedState
        end local 3 // java.lang.String exceptionMsg
        end local 2 // boolean isClient
        end local 1 // boolean isInput
        end local 0 // sun.security.ssl.HandshakeStateManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   35     0             this  Lsun/security/ssl/HandshakeStateManager;
            0   35     1          isInput  Z
            0   35     2         isClient  Z
            5   35     3     exceptionMsg  Ljava/lang/String;
            8    9     4    expectedState  Lsun/security/ssl/HandshakeStateManager$HandshakeState;
           10   35     4    expectedState  Lsun/security/ssl/HandshakeStateManager$HandshakeState;
           11   35     5  hasPresentState  Z
           13   18     6   handshakeState  Lsun/security/ssl/HandshakeStateManager$HandshakeState;
           24   27     6   handshakeState  Lsun/security/ssl/HandshakeStateManager$HandshakeState;
           30   33     6   handshakeState  Lsun/security/ssl/HandshakeStateManager$HandshakeState;
    Exceptions:
      throws javax.net.ssl.SSLProtocolException
    MethodParameters:
          Name  Flags
      isInput   
      isClient  

  private static java.lang.String toString(byte);
    descriptor: (B)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // byte handshakeType
         0: .line 915
            getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
            iload 0 /* handshakeType */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* s */
        start local 1 // java.lang.String s
         1: .line 916
            aload 1 /* s */
            ifnonnull 3
         2: .line 917
            ldc "unknown"
            astore 1 /* s */
         3: .line 919
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 0 /* handshakeType */
            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;
            areturn
        end local 1 // java.lang.String s
        end local 0 // byte handshakeType
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0  handshakeType  B
            1    4     1              s  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      handshakeType  
}
SourceFile: "HandshakeStateManager.java"
NestMembers:
  sun.security.ssl.HandshakeStateManager$HandshakeState
InnerClasses:
  final KeyExchange = sun.security.ssl.CipherSuite$KeyExchange of sun.security.ssl.CipherSuite
  final ClientHello = sun.security.ssl.HandshakeMessage$ClientHello of sun.security.ssl.HandshakeMessage
  final ServerHello = sun.security.ssl.HandshakeMessage$ServerHello of sun.security.ssl.HandshakeMessage
  final HandshakeState = sun.security.ssl.HandshakeStateManager$HandshakeState of sun.security.ssl.HandshakeStateManager