final class sun.security.ssl.SSLSessionImpl extends javax.net.ssl.ExtendedSSLSession
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.ssl.SSLSessionImpl
  super_class: javax.net.ssl.ExtendedSSLSession
{
  private static final byte compression_null;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private final sun.security.ssl.ProtocolVersion protocolVersion;
    descriptor: Lsun/security/ssl/ProtocolVersion;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final sun.security.ssl.SessionId sessionId;
    descriptor: Lsun/security/ssl/SessionId;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.security.cert.X509Certificate[] peerCerts;
    descriptor: [Ljava/security/cert/X509Certificate;
    flags: (0x0002) ACC_PRIVATE

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

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

  private javax.crypto.SecretKey masterSecret;
    descriptor: Ljavax/crypto/SecretKey;
    flags: (0x0002) ACC_PRIVATE

  private final boolean useExtendedMasterSecret;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long creationTime;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private long lastUsedTime;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

  private final int port;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

  private java.security.cert.X509Certificate[] localCerts;
    descriptor: [Ljava/security/cert/X509Certificate;
    flags: (0x0002) ACC_PRIVATE

  private java.security.PrivateKey localPrivateKey;
    descriptor: Ljava/security/PrivateKey;
    flags: (0x0002) ACC_PRIVATE

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

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

  private java.security.Principal peerPrincipal;
    descriptor: Ljava/security/Principal;
    flags: (0x0002) ACC_PRIVATE

  private java.security.Principal localPrincipal;
    descriptor: Ljava/security/Principal;
    flags: (0x0002) ACC_PRIVATE

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

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

  private static volatile int counter;
    descriptor: I
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private static boolean defaultRejoinable;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

  private java.util.Hashtable<sun.security.ssl.SecureKey, java.lang.Object> table;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Lsun/security/ssl/SecureKey;Ljava/lang/Object;>;

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 132
            iconst_0
            putstatic sun.security.ssl.SSLSessionImpl.counter:I
         1: .line 137
            iconst_1
            putstatic sun.security.ssl.SSLSessionImpl.defaultRejoinable:Z
         2: .line 140
            ldc "ssl"
            invokestatic sun.security.ssl.Debug.getInstance:(Ljava/lang/String;)Lsun/security/ssl/Debug;
            putstatic sun.security.ssl.SSLSessionImpl.debug:Lsun/security/ssl/Debug;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=9, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 149
            aload 0 /* this */
            getstatic sun.security.ssl.ProtocolVersion.NONE:Lsun/security/ssl/ProtocolVersion;
            getstatic sun.security.ssl.CipherSuite.C_NULL:Lsun/security/ssl/CipherSuite;
            aconst_null
         1: .line 150
            new sun.security.ssl.SessionId
            dup
            iconst_0
            aconst_null
            invokespecial sun.security.ssl.SessionId.<init>:(ZLjava/security/SecureRandom;)V
            aconst_null
            iconst_m1
            iconst_0
            aconst_null
            invokespecial sun.security.ssl.SSLSessionImpl.<init>:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite;Ljava/util/Collection;Lsun/security/ssl/SessionId;Ljava/lang/String;IZLjava/lang/String;)V
         2: .line 151
            return
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/ssl/SSLSessionImpl;

  void <init>(sun.security.ssl.ProtocolVersion, sun.security.ssl.CipherSuite, java.util.Collection<sun.security.ssl.SignatureAndHashAlgorithm>, java.security.SecureRandom, java.lang.String, int, boolean, java.lang.String);
    descriptor: (Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite;Ljava/util/Collection;Ljava/security/SecureRandom;Ljava/lang/String;IZLjava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=9, locals=9, args_size=9
        start local 0 // sun.security.ssl.SSLSessionImpl this
        start local 1 // sun.security.ssl.ProtocolVersion protocolVersion
        start local 2 // sun.security.ssl.CipherSuite cipherSuite
        start local 3 // java.util.Collection algorithms
        start local 4 // java.security.SecureRandom generator
        start local 5 // java.lang.String host
        start local 6 // int port
        start local 7 // boolean useExtendedMasterSecret
        start local 8 // java.lang.String endpointIdAlgorithm
         0: .line 162
            aload 0 /* this */
            aload 1 /* protocolVersion */
            aload 2 /* cipherSuite */
            aload 3 /* algorithms */
         1: .line 163
            new sun.security.ssl.SessionId
            dup
            getstatic sun.security.ssl.SSLSessionImpl.defaultRejoinable:Z
            aload 4 /* generator */
            invokespecial sun.security.ssl.SessionId.<init>:(ZLjava/security/SecureRandom;)V
            aload 5 /* host */
            iload 6 /* port */
         2: .line 164
            iload 7 /* useExtendedMasterSecret */
            aload 8 /* endpointIdAlgorithm */
            invokespecial sun.security.ssl.SSLSessionImpl.<init>:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite;Ljava/util/Collection;Lsun/security/ssl/SessionId;Ljava/lang/String;IZLjava/lang/String;)V
         3: .line 165
            return
        end local 8 // java.lang.String endpointIdAlgorithm
        end local 7 // boolean useExtendedMasterSecret
        end local 6 // int port
        end local 5 // java.lang.String host
        end local 4 // java.security.SecureRandom generator
        end local 3 // java.util.Collection algorithms
        end local 2 // sun.security.ssl.CipherSuite cipherSuite
        end local 1 // sun.security.ssl.ProtocolVersion protocolVersion
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    4     0                     this  Lsun/security/ssl/SSLSessionImpl;
            0    4     1          protocolVersion  Lsun/security/ssl/ProtocolVersion;
            0    4     2              cipherSuite  Lsun/security/ssl/CipherSuite;
            0    4     3               algorithms  Ljava/util/Collection<Lsun/security/ssl/SignatureAndHashAlgorithm;>;
            0    4     4                generator  Ljava/security/SecureRandom;
            0    4     5                     host  Ljava/lang/String;
            0    4     6                     port  I
            0    4     7  useExtendedMasterSecret  Z
            0    4     8      endpointIdAlgorithm  Ljava/lang/String;
    Signature: (Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite;Ljava/util/Collection<Lsun/security/ssl/SignatureAndHashAlgorithm;>;Ljava/security/SecureRandom;Ljava/lang/String;IZLjava/lang/String;)V
    MethodParameters:
                         Name  Flags
      protocolVersion          
      cipherSuite              
      algorithms               
      generator                
      host                     
      port                     
      useExtendedMasterSecret  
      endpointIdAlgorithm      

  void <init>(sun.security.ssl.ProtocolVersion, sun.security.ssl.CipherSuite, java.util.Collection<sun.security.ssl.SignatureAndHashAlgorithm>, sun.security.ssl.SessionId, java.lang.String, int, boolean, java.lang.String);
    descriptor: (Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite;Ljava/util/Collection;Lsun/security/ssl/SessionId;Ljava/lang/String;IZLjava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=9, args_size=9
        start local 0 // sun.security.ssl.SSLSessionImpl this
        start local 1 // sun.security.ssl.ProtocolVersion protocolVersion
        start local 2 // sun.security.ssl.CipherSuite cipherSuite
        start local 3 // java.util.Collection algorithms
        start local 4 // sun.security.ssl.SessionId id
        start local 5 // java.lang.String host
        start local 6 // int port
        start local 7 // boolean useExtendedMasterSecret
        start local 8 // java.lang.String endpointIdAlgorithm
         0: .line 170
            aload 0 /* this */
            invokespecial javax.net.ssl.ExtendedSSLSession.<init>:()V
         1: .line 99
            aload 0 /* this */
            invokestatic java.lang.System.currentTimeMillis:()J
            putfield sun.security.ssl.SSLSessionImpl.creationTime:J
         2: .line 100
            aload 0 /* this */
            lconst_0
            putfield sun.security.ssl.SSLSessionImpl.lastUsedTime:J
         3: .line 125
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.SSLSessionImpl.isSessionResumption:Z
         4: .line 651
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield sun.security.ssl.SSLSessionImpl.table:Ljava/util/Hashtable;
         5: .line 749
            aload 0 /* this */
         6: .line 750
            ldc "jsse.SSLEngine.acceptLargeFragments"
            iconst_0
            invokestatic sun.security.ssl.Debug.getBooleanProperty:(Ljava/lang/String;Z)Z
            putfield sun.security.ssl.SSLSessionImpl.acceptLargeFragments:Z
         7: .line 175
            aload 0 /* this */
            aload 1 /* protocolVersion */
            putfield sun.security.ssl.SSLSessionImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
         8: .line 176
            aload 0 /* this */
            aload 4 /* id */
            putfield sun.security.ssl.SSLSessionImpl.sessionId:Lsun/security/ssl/SessionId;
         9: .line 177
            aload 0 /* this */
            aconst_null
            putfield sun.security.ssl.SSLSessionImpl.peerCerts:[Ljava/security/cert/X509Certificate;
        10: .line 178
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.SSLSessionImpl.compressionMethod:B
        11: .line 179
            aload 0 /* this */
            aload 2 /* cipherSuite */
            putfield sun.security.ssl.SSLSessionImpl.cipherSuite:Lsun/security/ssl/CipherSuite;
        12: .line 180
            aload 0 /* this */
            aconst_null
            putfield sun.security.ssl.SSLSessionImpl.masterSecret:Ljavax/crypto/SecretKey;
        13: .line 181
            aload 0 /* this */
            aload 5 /* host */
            putfield sun.security.ssl.SSLSessionImpl.host:Ljava/lang/String;
        14: .line 182
            aload 0 /* this */
            iload 6 /* port */
            putfield sun.security.ssl.SSLSessionImpl.port:I
        15: .line 183
            aload 0 /* this */
            getstatic sun.security.ssl.SSLSessionImpl.counter:I
            iconst_1
            iadd
            dup
            putstatic sun.security.ssl.SSLSessionImpl.counter:I
            putfield sun.security.ssl.SSLSessionImpl.sessionCount:I
        16: .line 184
            aload 0 /* this */
        17: .line 185
            aload 3 /* algorithms */
            invokestatic sun.security.ssl.SignatureAndHashAlgorithm.getAlgorithmNames:(Ljava/util/Collection;)[Ljava/lang/String;
        18: .line 184
            putfield sun.security.ssl.SSLSessionImpl.localSupportedSignAlgs:[Ljava/lang/String;
        19: .line 186
            aload 0 /* this */
            iload 7 /* useExtendedMasterSecret */
            putfield sun.security.ssl.SSLSessionImpl.useExtendedMasterSecret:Z
        20: .line 187
            aload 0 /* this */
            aload 8 /* endpointIdAlgorithm */
            putfield sun.security.ssl.SSLSessionImpl.endpointIdentificationAlgorithm:Ljava/lang/String;
        21: .line 189
            getstatic sun.security.ssl.SSLSessionImpl.debug:Lsun/security/ssl/Debug;
            ifnull 23
            ldc "session"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 23
        22: .line 190
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "%% Initialized:  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        23: .line 192
      StackMap locals: sun.security.ssl.SSLSessionImpl sun.security.ssl.ProtocolVersion sun.security.ssl.CipherSuite java.util.Collection sun.security.ssl.SessionId java.lang.String int int java.lang.String
      StackMap stack:
            return
        end local 8 // java.lang.String endpointIdAlgorithm
        end local 7 // boolean useExtendedMasterSecret
        end local 6 // int port
        end local 5 // java.lang.String host
        end local 4 // sun.security.ssl.SessionId id
        end local 3 // java.util.Collection algorithms
        end local 2 // sun.security.ssl.CipherSuite cipherSuite
        end local 1 // sun.security.ssl.ProtocolVersion protocolVersion
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   24     0                     this  Lsun/security/ssl/SSLSessionImpl;
            0   24     1          protocolVersion  Lsun/security/ssl/ProtocolVersion;
            0   24     2              cipherSuite  Lsun/security/ssl/CipherSuite;
            0   24     3               algorithms  Ljava/util/Collection<Lsun/security/ssl/SignatureAndHashAlgorithm;>;
            0   24     4                       id  Lsun/security/ssl/SessionId;
            0   24     5                     host  Ljava/lang/String;
            0   24     6                     port  I
            0   24     7  useExtendedMasterSecret  Z
            0   24     8      endpointIdAlgorithm  Ljava/lang/String;
    Signature: (Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite;Ljava/util/Collection<Lsun/security/ssl/SignatureAndHashAlgorithm;>;Lsun/security/ssl/SessionId;Ljava/lang/String;IZLjava/lang/String;)V
    MethodParameters:
                         Name  Flags
      protocolVersion          
      cipherSuite              
      algorithms               
      id                       
      host                     
      port                     
      useExtendedMasterSecret  
      endpointIdAlgorithm      

  void setMasterSecret(javax.crypto.SecretKey);
    descriptor: (Ljavax/crypto/SecretKey;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLSessionImpl this
        start local 1 // javax.crypto.SecretKey secret
         0: .line 195
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.masterSecret:Ljavax/crypto/SecretKey;
            ifnonnull 3
         1: .line 196
            aload 0 /* this */
            aload 1 /* secret */
            putfield sun.security.ssl.SSLSessionImpl.masterSecret:Ljavax/crypto/SecretKey;
         2: .line 197
            goto 4
         3: .line 198
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            ldc "setMasterSecret() error"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 200
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.crypto.SecretKey secret
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/security/ssl/SSLSessionImpl;
            0    5     1  secret  Ljavax/crypto/SecretKey;
    MethodParameters:
        Name  Flags
      secret  

  javax.crypto.SecretKey getMasterSecret();
    descriptor: ()Ljavax/crypto/SecretKey;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 206
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.masterSecret:Ljavax/crypto/SecretKey;
            areturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLSessionImpl;

  boolean getUseExtendedMasterSecret();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 210
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.useExtendedMasterSecret:Z
            ireturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLSessionImpl;

  void setPeerCertificates(java.security.cert.X509Certificate[]);
    descriptor: ([Ljava/security/cert/X509Certificate;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLSessionImpl this
        start local 1 // java.security.cert.X509Certificate[] peer
         0: .line 214
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.peerCerts:[Ljava/security/cert/X509Certificate;
            ifnonnull 2
         1: .line 215
            aload 0 /* this */
            aload 1 /* peer */
            putfield sun.security.ssl.SSLSessionImpl.peerCerts:[Ljava/security/cert/X509Certificate;
         2: .line 217
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.security.cert.X509Certificate[] peer
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/ssl/SSLSessionImpl;
            0    3     1  peer  [Ljava/security/cert/X509Certificate;
    MethodParameters:
      Name  Flags
      peer  

  void setLocalCertificates(java.security.cert.X509Certificate[]);
    descriptor: ([Ljava/security/cert/X509Certificate;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLSessionImpl this
        start local 1 // java.security.cert.X509Certificate[] local
         0: .line 220
            aload 0 /* this */
            aload 1 /* local */
            putfield sun.security.ssl.SSLSessionImpl.localCerts:[Ljava/security/cert/X509Certificate;
         1: .line 221
            return
        end local 1 // java.security.cert.X509Certificate[] local
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/security/ssl/SSLSessionImpl;
            0    2     1  local  [Ljava/security/cert/X509Certificate;
    MethodParameters:
       Name  Flags
      local  

  void setLocalPrivateKey(java.security.PrivateKey);
    descriptor: (Ljava/security/PrivateKey;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLSessionImpl this
        start local 1 // java.security.PrivateKey privateKey
         0: .line 224
            aload 0 /* this */
            aload 1 /* privateKey */
            putfield sun.security.ssl.SSLSessionImpl.localPrivateKey:Ljava/security/PrivateKey;
         1: .line 225
            return
        end local 1 // java.security.PrivateKey privateKey
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lsun/security/ssl/SSLSessionImpl;
            0    2     1  privateKey  Ljava/security/PrivateKey;
    MethodParameters:
            Name  Flags
      privateKey  

  void setPeerSupportedSignatureAlgorithms(java.util.Collection<sun.security.ssl.SignatureAndHashAlgorithm>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLSessionImpl this
        start local 1 // java.util.Collection algorithms
         0: .line 229
            aload 0 /* this */
         1: .line 230
            aload 1 /* algorithms */
            invokestatic sun.security.ssl.SignatureAndHashAlgorithm.getAlgorithmNames:(Ljava/util/Collection;)[Ljava/lang/String;
         2: .line 229
            putfield sun.security.ssl.SSLSessionImpl.peerSupportedSignAlgs:[Ljava/lang/String;
         3: .line 231
            return
        end local 1 // java.util.Collection algorithms
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lsun/security/ssl/SSLSessionImpl;
            0    4     1  algorithms  Ljava/util/Collection<Lsun/security/ssl/SignatureAndHashAlgorithm;>;
    Signature: (Ljava/util/Collection<Lsun/security/ssl/SignatureAndHashAlgorithm;>;)V
    MethodParameters:
            Name  Flags
      algorithms  

  void setPeerPrincipal(java.security.Principal);
    descriptor: (Ljava/security/Principal;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLSessionImpl this
        start local 1 // java.security.Principal principal
         0: .line 237
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.peerPrincipal:Ljava/security/Principal;
            ifnonnull 2
         1: .line 238
            aload 0 /* this */
            aload 1 /* principal */
            putfield sun.security.ssl.SSLSessionImpl.peerPrincipal:Ljava/security/Principal;
         2: .line 240
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.security.Principal principal
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lsun/security/ssl/SSLSessionImpl;
            0    3     1  principal  Ljava/security/Principal;
    MethodParameters:
           Name  Flags
      principal  

  void setLocalPrincipal(java.security.Principal);
    descriptor: (Ljava/security/Principal;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLSessionImpl this
        start local 1 // java.security.Principal principal
         0: .line 246
            aload 0 /* this */
            aload 1 /* principal */
            putfield sun.security.ssl.SSLSessionImpl.localPrincipal:Ljava/security/Principal;
         1: .line 247
            return
        end local 1 // java.security.Principal principal
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lsun/security/ssl/SSLSessionImpl;
            0    2     1  principal  Ljava/security/Principal;
    MethodParameters:
           Name  Flags
      principal  

  java.lang.String getEndpointIdentificationAlgorithm();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 250
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.endpointIdentificationAlgorithm:Ljava/lang/String;
            areturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLSessionImpl;

  boolean isRejoinable();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 261
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.sessionId:Lsun/security/ssl/SessionId;
            ifnull 3
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.sessionId:Lsun/security/ssl/SessionId;
            invokevirtual sun.security.ssl.SessionId.length:()I
            ifeq 3
         1: .line 262
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.invalidated:Z
            ifne 3
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLSessionImpl.isLocalAuthenticationValid:()Z
            ifeq 3
         2: .line 261
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/ssl/SSLSessionImpl;

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

  boolean isLocalAuthenticationValid();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 274
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.localPrivateKey:Ljava/security/PrivateKey;
            ifnull 6
         1: .line 279
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.localPrivateKey:Ljava/security/PrivateKey;
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            pop
         2: .line 280
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Exception
         3: pop
         4: .line 281
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLSessionImpl.invalidate:()V
         5: .line 282
            iconst_0
            ireturn
         6: .line 285
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/security/ssl/SSLSessionImpl;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception

  public byte[] getId();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 293
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.sessionId:Lsun/security/ssl/SessionId;
            invokevirtual sun.security.ssl.SessionId.getId:()[B
            areturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLSessionImpl;

  public javax.net.ssl.SSLSessionContext getSessionContext();
    descriptor: ()Ljavax/net/ssl/SSLSessionContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 313
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            dup
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: ifnull 3
         2: .line 314
            aload 1 /* sm */
            new javax.net.ssl.SSLPermission
            dup
            ldc "getSSLSessionContext"
            invokespecial javax.net.ssl.SSLPermission.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 317
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.context:Lsun/security/ssl/SSLSessionContextImpl;
            areturn
        end local 1 // java.lang.SecurityManager sm
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/ssl/SSLSessionImpl;
            1    4     1    sm  Ljava/lang/SecurityManager;

  sun.security.ssl.SessionId getSessionId();
    descriptor: ()Lsun/security/ssl/SessionId;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 322
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.sessionId:Lsun/security/ssl/SessionId;
            areturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLSessionImpl;

  sun.security.ssl.CipherSuite getSuite();
    descriptor: ()Lsun/security/ssl/CipherSuite;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 330
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.cipherSuite:Lsun/security/ssl/CipherSuite;
            areturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLSessionImpl;

  void setSuite(sun.security.ssl.CipherSuite);
    descriptor: (Lsun/security/ssl/CipherSuite;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLSessionImpl this
        start local 1 // sun.security.ssl.CipherSuite suite
         0: .line 337
            aload 0 /* this */
            aload 1 /* suite */
            putfield sun.security.ssl.SSLSessionImpl.cipherSuite:Lsun/security/ssl/CipherSuite;
         1: .line 339
            getstatic sun.security.ssl.SSLSessionImpl.debug:Lsun/security/ssl/Debug;
            ifnull 3
            ldc "session"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 340
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "%% Negotiating:  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 342
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.security.ssl.CipherSuite suite
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lsun/security/ssl/SSLSessionImpl;
            0    4     1  suite  Lsun/security/ssl/CipherSuite;
    MethodParameters:
       Name  Flags
      suite  

  boolean isSessionResumption();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 349
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.isSessionResumption:Z
            ireturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLSessionImpl;

  void setAsSessionResumption(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLSessionImpl this
        start local 1 // boolean flag
         0: .line 357
            aload 0 /* this */
            iload 1 /* flag */
            putfield sun.security.ssl.SSLSessionImpl.isSessionResumption:Z
         1: .line 358
            return
        end local 1 // boolean flag
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/ssl/SSLSessionImpl;
            0    2     1  flag  Z
    MethodParameters:
      Name  Flags
      flag  

  public java.lang.String getCipherSuite();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 364
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLSessionImpl.getSuite:()Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.name:Ljava/lang/String;
            areturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLSessionImpl;

  sun.security.ssl.ProtocolVersion getProtocolVersion();
    descriptor: ()Lsun/security/ssl/ProtocolVersion;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 368
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            areturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLSessionImpl;

  public java.lang.String getProtocol();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 375
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLSessionImpl.getProtocolVersion:()Lsun/security/ssl/ProtocolVersion;
            getfield sun.security.ssl.ProtocolVersion.name:Ljava/lang/String;
            areturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLSessionImpl;

  byte getCompression();
    descriptor: ()B
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 382
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.compressionMethod:B
            ireturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLSessionImpl;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 389
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.sessionId:Lsun/security/ssl/SessionId;
            invokevirtual sun.security.ssl.SessionId.hashCode:()I
            ireturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLSessionImpl;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.security.ssl.SSLSessionImpl this
        start local 1 // java.lang.Object obj
         0: .line 398
            aload 1 /* obj */
            aload 0 /* this */
            if_acmpne 2
         1: .line 399
            iconst_1
            ireturn
         2: .line 402
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof sun.security.ssl.SSLSessionImpl
            ifeq 10
         3: .line 403
            aload 1 /* obj */
            checkcast sun.security.ssl.SSLSessionImpl
            astore 2 /* sess */
        start local 2 // sun.security.ssl.SSLSessionImpl sess
         4: .line 404
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.sessionId:Lsun/security/ssl/SessionId;
            ifnull 9
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.sessionId:Lsun/security/ssl/SessionId;
         5: .line 405
            aload 2 /* sess */
            invokevirtual sun.security.ssl.SSLSessionImpl.getSessionId:()Lsun/security/ssl/SessionId;
         6: .line 404
            invokevirtual sun.security.ssl.SessionId.equals:(Ljava/lang/Object;)Z
         7: .line 405
            ifeq 9
         8: .line 404
            iconst_1
            ireturn
      StackMap locals: sun.security.ssl.SSLSessionImpl
      StackMap stack:
         9: iconst_0
            ireturn
        end local 2 // sun.security.ssl.SSLSessionImpl sess
        10: .line 408
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/security/ssl/SSLSessionImpl;
            0   11     1   obj  Ljava/lang/Object;
            4   10     2  sess  Lsun/security/ssl/SSLSessionImpl;
    MethodParameters:
      Name  Flags
      obj   

  public java.security.cert.Certificate[] getPeerCertificates();
    descriptor: ()[Ljava/security/cert/Certificate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 429
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.cipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 2
         1: .line 430
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.cipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5_EXPORT:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpne 3
         2: .line 431
      StackMap locals:
      StackMap stack:
            new javax.net.ssl.SSLPeerUnverifiedException
            dup
            ldc "no certificates expected for Kerberos cipher suites"
            invokespecial javax.net.ssl.SSLPeerUnverifiedException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 434
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.peerCerts:[Ljava/security/cert/X509Certificate;
            ifnonnull 5
         4: .line 435
            new javax.net.ssl.SSLPeerUnverifiedException
            dup
            ldc "peer not authenticated"
            invokespecial javax.net.ssl.SSLPeerUnverifiedException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 440
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.peerCerts:[Ljava/security/cert/X509Certificate;
            invokevirtual java.security.cert.X509Certificate[].clone:()Ljava/lang/Object;
            checkcast java.security.cert.Certificate[]
            areturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/security/ssl/SSLSessionImpl;
    Exceptions:
      throws javax.net.ssl.SSLPeerUnverifiedException

  public java.security.cert.Certificate[] getLocalCertificates();
    descriptor: ()[Ljava/security/cert/Certificate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 457
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.localCerts:[Ljava/security/cert/X509Certificate;
            ifnonnull 1
            aconst_null
            goto 2
         1: .line 458
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.localCerts:[Ljava/security/cert/X509Certificate;
            invokevirtual java.security.cert.X509Certificate[].clone:()Ljava/lang/Object;
            checkcast java.security.cert.Certificate[]
         2: .line 457
      StackMap locals:
      StackMap stack: java.security.cert.Certificate[]
            areturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/ssl/SSLSessionImpl;

  public javax.security.cert.X509Certificate[] getPeerCertificateChain();
    descriptor: ()[Ljavax/security/cert/X509Certificate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 478
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.cipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 2
         1: .line 479
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.cipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5_EXPORT:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpne 3
         2: .line 480
      StackMap locals:
      StackMap stack:
            new javax.net.ssl.SSLPeerUnverifiedException
            dup
            ldc "no certificates expected for Kerberos cipher suites"
            invokespecial javax.net.ssl.SSLPeerUnverifiedException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 483
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.peerCerts:[Ljava/security/cert/X509Certificate;
            ifnonnull 5
         4: .line 484
            new javax.net.ssl.SSLPeerUnverifiedException
            dup
            ldc "peer not authenticated"
            invokespecial javax.net.ssl.SSLPeerUnverifiedException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 487
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.peerCerts:[Ljava/security/cert/X509Certificate;
            arraylength
            anewarray javax.security.cert.X509Certificate
            astore 1 /* certs */
        start local 1 // javax.security.cert.X509Certificate[] certs
         6: .line 488
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         7: goto 17
         8: .line 489
      StackMap locals: javax.security.cert.X509Certificate[] int
      StackMap stack:
            aconst_null
            astore 3 /* der */
        start local 3 // byte[] der
         9: .line 491
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.peerCerts:[Ljava/security/cert/X509Certificate;
            iload 2 /* i */
            aaload
            invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
            astore 3 /* der */
        10: .line 492
            aload 1 /* certs */
            iload 2 /* i */
            aload 3 /* der */
            invokestatic javax.security.cert.X509Certificate.getInstance:([B)Ljavax/security/cert/X509Certificate;
            aastore
        11: .line 493
            goto 16
      StackMap locals: sun.security.ssl.SSLSessionImpl javax.security.cert.X509Certificate[] int byte[]
      StackMap stack: java.security.cert.CertificateEncodingException
        12: astore 4 /* e */
        start local 4 // java.security.cert.CertificateEncodingException e
        13: .line 494
            new javax.net.ssl.SSLPeerUnverifiedException
            dup
            aload 4 /* e */
            invokevirtual java.security.cert.CertificateEncodingException.getMessage:()Ljava/lang/String;
            invokespecial javax.net.ssl.SSLPeerUnverifiedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.security.cert.CertificateEncodingException e
        14: .line 495
      StackMap locals:
      StackMap stack: javax.security.cert.CertificateException
            astore 4 /* e */
        start local 4 // javax.security.cert.CertificateException e
        15: .line 496
            new javax.net.ssl.SSLPeerUnverifiedException
            dup
            aload 4 /* e */
            invokevirtual javax.security.cert.CertificateException.getMessage:()Ljava/lang/String;
            invokespecial javax.net.ssl.SSLPeerUnverifiedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // javax.security.cert.CertificateException e
        end local 3 // byte[] der
        16: .line 488
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 2 /* i */
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.peerCerts:[Ljava/security/cert/X509Certificate;
            arraylength
            if_icmplt 8
        end local 2 // int i
        18: .line 500
            aload 1 /* certs */
            areturn
        end local 1 // javax.security.cert.X509Certificate[] certs
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0   this  Lsun/security/ssl/SSLSessionImpl;
            6   19     1  certs  [Ljavax/security/cert/X509Certificate;
            7   18     2      i  I
            9   16     3    der  [B
           13   14     4      e  Ljava/security/cert/CertificateEncodingException;
           15   16     4      e  Ljavax/security/cert/CertificateException;
      Exception table:
        from    to  target  type
           9    11      12  Class java.security.cert.CertificateEncodingException
           9    11      14  Class javax.security.cert.CertificateException
    Exceptions:
      throws javax.net.ssl.SSLPeerUnverifiedException

  public java.security.cert.X509Certificate[] getCertificateChain();
    descriptor: ()[Ljava/security/cert/X509Certificate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 519
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.cipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 2
         1: .line 520
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.cipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5_EXPORT:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpne 3
         2: .line 521
      StackMap locals:
      StackMap stack:
            new javax.net.ssl.SSLPeerUnverifiedException
            dup
            ldc "no certificates expected for Kerberos cipher suites"
            invokespecial javax.net.ssl.SSLPeerUnverifiedException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 524
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.peerCerts:[Ljava/security/cert/X509Certificate;
            ifnull 5
         4: .line 525
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.peerCerts:[Ljava/security/cert/X509Certificate;
            invokevirtual java.security.cert.X509Certificate[].clone:()Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate[]
            areturn
         5: .line 527
      StackMap locals:
      StackMap stack:
            new javax.net.ssl.SSLPeerUnverifiedException
            dup
            ldc "peer not authenticated"
            invokespecial javax.net.ssl.SSLPeerUnverifiedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/security/ssl/SSLSessionImpl;
    Exceptions:
      throws javax.net.ssl.SSLPeerUnverifiedException

  public java.security.Principal getPeerPrincipal();
    descriptor: ()Ljava/security/Principal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 545
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.cipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 2
         1: .line 546
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.cipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5_EXPORT:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpne 5
         2: .line 547
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.peerPrincipal:Ljava/security/Principal;
            ifnonnull 4
         3: .line 548
            new javax.net.ssl.SSLPeerUnverifiedException
            dup
            ldc "peer not authenticated"
            invokespecial javax.net.ssl.SSLPeerUnverifiedException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 551
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.peerPrincipal:Ljava/security/Principal;
            areturn
         5: .line 554
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.peerCerts:[Ljava/security/cert/X509Certificate;
            ifnonnull 7
         6: .line 555
            new javax.net.ssl.SSLPeerUnverifiedException
            dup
            ldc "peer not authenticated"
            invokespecial javax.net.ssl.SSLPeerUnverifiedException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 557
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.peerCerts:[Ljava/security/cert/X509Certificate;
            iconst_0
            aaload
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            areturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/security/ssl/SSLSessionImpl;
    Exceptions:
      throws javax.net.ssl.SSLPeerUnverifiedException

  public java.security.Principal getLocalPrincipal();
    descriptor: ()Ljava/security/Principal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 570
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.cipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 2
         1: .line 571
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.cipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5_EXPORT:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpne 5
         2: .line 573
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.localPrincipal:Ljava/security/Principal;
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.localPrincipal:Ljava/security/Principal;
      StackMap locals:
      StackMap stack: java.security.Principal
         4: areturn
         5: .line 575
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.localCerts:[Ljava/security/cert/X509Certificate;
            ifnonnull 6
            aconst_null
            goto 7
         6: .line 576
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.localCerts:[Ljava/security/cert/X509Certificate;
            iconst_0
            aaload
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
         7: .line 575
      StackMap locals:
      StackMap stack: javax.security.auth.x500.X500Principal
            areturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/security/ssl/SSLSessionImpl;

  public long getCreationTime();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 583
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.creationTime:J
            lreturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLSessionImpl;

  public long getLastAccessedTime();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 591
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.lastUsedTime:J
            lconst_0
            lcmp
            ifeq 1
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.lastUsedTime:J
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.creationTime:J
      StackMap locals:
      StackMap stack: long
         2: lreturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/ssl/SSLSessionImpl;

  void setLastAccessedTime(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.ssl.SSLSessionImpl this
        start local 1 // long time
         0: .line 595
            aload 0 /* this */
            lload 1 /* time */
            putfield sun.security.ssl.SSLSessionImpl.lastUsedTime:J
         1: .line 596
            return
        end local 1 // long time
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/ssl/SSLSessionImpl;
            0    2     1  time  J
    MethodParameters:
      Name  Flags
      time  

  public java.net.InetAddress getPeerAddress();
    descriptor: ()Ljava/net/InetAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 607
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.host:Ljava/lang/String;
            invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
         1: areturn
         2: .line 608
      StackMap locals:
      StackMap stack: java.net.UnknownHostException
            pop
         3: .line 609
            aconst_null
            areturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/ssl/SSLSessionImpl;
      Exception table:
        from    to  target  type
           0     1       2  Class java.net.UnknownHostException

  public java.lang.String getPeerHost();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 614
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.host:Ljava/lang/String;
            areturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLSessionImpl;

  public int getPeerPort();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 622
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.port:I
            ireturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLSessionImpl;

  void setContext(sun.security.ssl.SSLSessionContextImpl);
    descriptor: (Lsun/security/ssl/SSLSessionContextImpl;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLSessionImpl this
        start local 1 // sun.security.ssl.SSLSessionContextImpl ctx
         0: .line 626
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.context:Lsun/security/ssl/SSLSessionContextImpl;
            ifnonnull 2
         1: .line 627
            aload 0 /* this */
            aload 1 /* ctx */
            putfield sun.security.ssl.SSLSessionImpl.context:Lsun/security/ssl/SSLSessionContextImpl;
         2: .line 629
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.security.ssl.SSLSessionContextImpl ctx
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/ssl/SSLSessionImpl;
            0    3     1   ctx  Lsun/security/ssl/SSLSessionContextImpl;
    MethodParameters:
      Name  Flags
      ctx   

  public synchronized void invalidate();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 636
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.SSLSessionImpl.invalidated:Z
         1: .line 637
            getstatic sun.security.ssl.SSLSessionImpl.debug:Lsun/security/ssl/Debug;
            ifnull 3
            ldc "session"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 638
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "%% Invalidated:  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 640
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.context:Lsun/security/ssl/SSLSessionContextImpl;
            ifnull 6
         4: .line 641
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.context:Lsun/security/ssl/SSLSessionContextImpl;
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.sessionId:Lsun/security/ssl/SessionId;
            invokevirtual sun.security.ssl.SSLSessionContextImpl.remove:(Lsun/security/ssl/SessionId;)V
         5: .line 642
            aload 0 /* this */
            aconst_null
            putfield sun.security.ssl.SSLSessionImpl.context:Lsun/security/ssl/SSLSessionContextImpl;
         6: .line 644
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/security/ssl/SSLSessionImpl;

  public void putValue(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // sun.security.ssl.SSLSessionImpl this
        start local 1 // java.lang.String key
        start local 2 // java.lang.Object value
         0: .line 658
            aload 1 /* key */
            ifnull 1
            aload 2 /* value */
            ifnonnull 2
         1: .line 659
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "arguments can not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 662
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.SecureKey
            dup
            aload 1 /* key */
            invokespecial sun.security.ssl.SecureKey.<init>:(Ljava/lang/Object;)V
            astore 3 /* secureKey */
        start local 3 // sun.security.ssl.SecureKey secureKey
         3: .line 663
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.table:Ljava/util/Hashtable;
            aload 3 /* secureKey */
            aload 2 /* value */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* oldValue */
        start local 4 // java.lang.Object oldValue
         4: .line 665
            aload 4 /* oldValue */
            instanceof javax.net.ssl.SSLSessionBindingListener
            ifeq 7
         5: .line 668
            new javax.net.ssl.SSLSessionBindingEvent
            dup
            aload 0 /* this */
            aload 1 /* key */
            invokespecial javax.net.ssl.SSLSessionBindingEvent.<init>:(Ljavax/net/ssl/SSLSession;Ljava/lang/String;)V
            astore 5 /* e */
        start local 5 // javax.net.ssl.SSLSessionBindingEvent e
         6: .line 669
            aload 4 /* oldValue */
            checkcast javax.net.ssl.SSLSessionBindingListener
            aload 5 /* e */
            invokeinterface javax.net.ssl.SSLSessionBindingListener.valueUnbound:(Ljavax/net/ssl/SSLSessionBindingEvent;)V
        end local 5 // javax.net.ssl.SSLSessionBindingEvent e
         7: .line 671
      StackMap locals: sun.security.ssl.SecureKey java.lang.Object
      StackMap stack:
            aload 2 /* value */
            instanceof javax.net.ssl.SSLSessionBindingListener
            ifeq 10
         8: .line 674
            new javax.net.ssl.SSLSessionBindingEvent
            dup
            aload 0 /* this */
            aload 1 /* key */
            invokespecial javax.net.ssl.SSLSessionBindingEvent.<init>:(Ljavax/net/ssl/SSLSession;Ljava/lang/String;)V
            astore 5 /* e */
        start local 5 // javax.net.ssl.SSLSessionBindingEvent e
         9: .line 675
            aload 2 /* value */
            checkcast javax.net.ssl.SSLSessionBindingListener
            aload 5 /* e */
            invokeinterface javax.net.ssl.SSLSessionBindingListener.valueBound:(Ljavax/net/ssl/SSLSessionBindingEvent;)V
        end local 5 // javax.net.ssl.SSLSessionBindingEvent e
        10: .line 677
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Object oldValue
        end local 3 // sun.security.ssl.SecureKey secureKey
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String key
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lsun/security/ssl/SSLSessionImpl;
            0   11     1        key  Ljava/lang/String;
            0   11     2      value  Ljava/lang/Object;
            3   11     3  secureKey  Lsun/security/ssl/SecureKey;
            4   11     4   oldValue  Ljava/lang/Object;
            6    7     5          e  Ljavax/net/ssl/SSLSessionBindingEvent;
            9   10     5          e  Ljavax/net/ssl/SSLSessionBindingEvent;
    MethodParameters:
       Name  Flags
      key    
      value  

  public java.lang.Object getValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.ssl.SSLSessionImpl this
        start local 1 // java.lang.String key
         0: .line 684
            aload 1 /* key */
            ifnonnull 2
         1: .line 685
            new java.lang.IllegalArgumentException
            dup
            ldc "argument can not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 688
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.SecureKey
            dup
            aload 1 /* key */
            invokespecial sun.security.ssl.SecureKey.<init>:(Ljava/lang/Object;)V
            astore 2 /* secureKey */
        start local 2 // sun.security.ssl.SecureKey secureKey
         3: .line 689
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.table:Ljava/util/Hashtable;
            aload 2 /* secureKey */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // sun.security.ssl.SecureKey secureKey
        end local 1 // java.lang.String key
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lsun/security/ssl/SSLSessionImpl;
            0    4     1        key  Ljava/lang/String;
            3    4     2  secureKey  Lsun/security/ssl/SecureKey;
    MethodParameters:
      Name  Flags
      key   

  public void removeValue(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // sun.security.ssl.SSLSessionImpl this
        start local 1 // java.lang.String key
         0: .line 698
            aload 1 /* key */
            ifnonnull 2
         1: .line 699
            new java.lang.IllegalArgumentException
            dup
            ldc "argument can not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 702
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.SecureKey
            dup
            aload 1 /* key */
            invokespecial sun.security.ssl.SecureKey.<init>:(Ljava/lang/Object;)V
            astore 2 /* secureKey */
        start local 2 // sun.security.ssl.SecureKey secureKey
         3: .line 703
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.table:Ljava/util/Hashtable;
            aload 2 /* secureKey */
            invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* value */
        start local 3 // java.lang.Object value
         4: .line 705
            aload 3 /* value */
            instanceof javax.net.ssl.SSLSessionBindingListener
            ifeq 7
         5: .line 708
            new javax.net.ssl.SSLSessionBindingEvent
            dup
            aload 0 /* this */
            aload 1 /* key */
            invokespecial javax.net.ssl.SSLSessionBindingEvent.<init>:(Ljavax/net/ssl/SSLSession;Ljava/lang/String;)V
            astore 4 /* e */
        start local 4 // javax.net.ssl.SSLSessionBindingEvent e
         6: .line 709
            aload 3 /* value */
            checkcast javax.net.ssl.SSLSessionBindingListener
            aload 4 /* e */
            invokeinterface javax.net.ssl.SSLSessionBindingListener.valueUnbound:(Ljavax/net/ssl/SSLSessionBindingEvent;)V
        end local 4 // javax.net.ssl.SSLSessionBindingEvent e
         7: .line 711
      StackMap locals: sun.security.ssl.SecureKey java.lang.Object
      StackMap stack:
            return
        end local 3 // java.lang.Object value
        end local 2 // sun.security.ssl.SecureKey secureKey
        end local 1 // java.lang.String key
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lsun/security/ssl/SSLSessionImpl;
            0    8     1        key  Ljava/lang/String;
            3    8     2  secureKey  Lsun/security/ssl/SecureKey;
            4    8     3      value  Ljava/lang/Object;
            6    7     4          e  Ljavax/net/ssl/SSLSessionBindingEvent;
    MethodParameters:
      Name  Flags
      key   

  public java.lang.String[] getValueNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 719
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 2 /* v */
        start local 2 // java.util.Vector v
         1: .line 721
            invokestatic sun.security.ssl.SecureKey.getCurrentSecurityContext:()Ljava/lang/Object;
            astore 4 /* securityCtx */
        start local 4 // java.lang.Object securityCtx
         2: .line 723
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.table:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
            astore 1 /* e */
        start local 1 // java.util.Enumeration e
         3: goto 7
         4: .line 724
      StackMap locals: sun.security.ssl.SSLSessionImpl java.util.Enumeration java.util.Vector top java.lang.Object
      StackMap stack:
            aload 1 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast sun.security.ssl.SecureKey
            astore 3 /* key */
        start local 3 // sun.security.ssl.SecureKey key
         5: .line 726
            aload 4 /* securityCtx */
            aload 3 /* key */
            invokevirtual sun.security.ssl.SecureKey.getSecurityContext:()Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 727
            aload 2 /* v */
            aload 3 /* key */
            invokevirtual sun.security.ssl.SecureKey.getAppKey:()Ljava/lang/Object;
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        end local 3 // sun.security.ssl.SecureKey key
         7: .line 723
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 4
         8: .line 730
            aload 2 /* v */
            invokevirtual java.util.Vector.size:()I
            anewarray java.lang.String
            astore 5 /* names */
        start local 5 // java.lang.String[] names
         9: .line 731
            aload 2 /* v */
            aload 5 /* names */
            invokevirtual java.util.Vector.copyInto:([Ljava/lang/Object;)V
        10: .line 733
            aload 5 /* names */
            areturn
        end local 5 // java.lang.String[] names
        end local 4 // java.lang.Object securityCtx
        end local 2 // java.util.Vector v
        end local 1 // java.util.Enumeration e
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lsun/security/ssl/SSLSessionImpl;
            3   11     1            e  Ljava/util/Enumeration<Lsun/security/ssl/SecureKey;>;
            1   11     2            v  Ljava/util/Vector<Ljava/lang/Object;>;
            5    7     3          key  Lsun/security/ssl/SecureKey;
            2   11     4  securityCtx  Ljava/lang/Object;
            9   11     5        names  [Ljava/lang/String;

  protected synchronized void expandBufferSizes();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 757
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.SSLSessionImpl.acceptLargeFragments:Z
         1: .line 758
            return
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/ssl/SSLSessionImpl;

  public synchronized int getPacketBufferSize();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 765
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.acceptLargeFragments:Z
            ifeq 2
         1: .line 766
            ldc 33305
            goto 3
      StackMap locals:
      StackMap stack:
         2: sipush 16921
         3: .line 765
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/ssl/SSLSessionImpl;

  public synchronized int getApplicationBufferSize();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 774
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLSessionImpl.getPacketBufferSize:()I
            iconst_5
            isub
            ireturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLSessionImpl;

  public java.lang.String[] getLocalSupportedSignatureAlgorithms();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 782
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.localSupportedSignAlgs:[Ljava/lang/String;
            ifnull 2
         1: .line 783
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.localSupportedSignAlgs:[Ljava/lang/String;
            invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
         2: .line 786
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray java.lang.String
            areturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/ssl/SSLSessionImpl;

  public java.lang.String[] getPeerSupportedSignatureAlgorithms();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 794
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.peerSupportedSignAlgs:[Ljava/lang/String;
            ifnull 2
         1: .line 795
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.peerSupportedSignAlgs:[Ljava/lang/String;
            invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
         2: .line 798
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray java.lang.String
            areturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/ssl/SSLSessionImpl;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 803
            new java.lang.StringBuilder
            dup
            ldc "[Session-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.ssl.SSLSessionImpl.sessionCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         1: .line 804
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLSessionImpl.getCipherSuite:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 805
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 803
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/ssl/SSLSessionImpl;

  public void finalize();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.security.ssl.SSLSessionImpl this
         0: .line 813
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLSessionImpl.getValueNames:()[Ljava/lang/String;
            astore 1 /* names */
        start local 1 // java.lang.String[] names
         1: .line 814
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 815
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* names */
            iload 2 /* i */
            aaload
            invokevirtual sun.security.ssl.SSLSessionImpl.removeValue:(Ljava/lang/String;)V
         4: .line 814
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 1 /* names */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 817
            return
        end local 1 // java.lang.String[] names
        end local 0 // sun.security.ssl.SSLSessionImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lsun/security/ssl/SSLSessionImpl;
            1    7     1  names  [Ljava/lang/String;
            2    6     2      i  I
}
SourceFile: "SSLSessionImpl.java"
InnerClasses:
  final KeyExchange = sun.security.ssl.CipherSuite$KeyExchange of sun.security.ssl.CipherSuite