public abstract class javax.net.ssl.SSLContextSpi
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: javax.net.ssl.SSLContextSpi
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.net.ssl.SSLContextSpi this
         0: .line 41
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // javax.net.ssl.SSLContextSpi this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/net/ssl/SSLContextSpi;

  protected abstract void engineInit(javax.net.ssl.KeyManager[], javax.net.ssl.TrustManager[], java.security.SecureRandom);
    descriptor: ([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.security.KeyManagementException
    MethodParameters:
      Name  Flags
      km    
      tm    
      sr    

  protected abstract javax.net.ssl.SSLSocketFactory engineGetSocketFactory();
    descriptor: ()Ljavax/net/ssl/SSLSocketFactory;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract javax.net.ssl.SSLServerSocketFactory engineGetServerSocketFactory();
    descriptor: ()Ljavax/net/ssl/SSLServerSocketFactory;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract javax.net.ssl.SSLEngine engineCreateSSLEngine();
    descriptor: ()Ljavax/net/ssl/SSLEngine;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract javax.net.ssl.SSLEngine engineCreateSSLEngine(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljavax/net/ssl/SSLEngine;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      host  
      port  

  protected abstract javax.net.ssl.SSLSessionContext engineGetServerSessionContext();
    descriptor: ()Ljavax/net/ssl/SSLSessionContext;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract javax.net.ssl.SSLSessionContext engineGetClientSessionContext();
    descriptor: ()Ljavax/net/ssl/SSLSessionContext;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  private javax.net.ssl.SSLSocket getDefaultSocket();
    descriptor: ()Ljavax/net/ssl/SSLSocket;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // javax.net.ssl.SSLContextSpi this
         0: .line 162
            aload 0 /* this */
            invokevirtual javax.net.ssl.SSLContextSpi.engineGetSocketFactory:()Ljavax/net/ssl/SSLSocketFactory;
            astore 1 /* factory */
        start local 1 // javax.net.ssl.SSLSocketFactory factory
         1: .line 163
            aload 1 /* factory */
            invokevirtual javax.net.ssl.SSLSocketFactory.createSocket:()Ljava/net/Socket;
            checkcast javax.net.ssl.SSLSocket
         2: areturn
        end local 1 // javax.net.ssl.SSLSocketFactory factory
         3: .line 164
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         4: .line 165
            new java.lang.UnsupportedOperationException
            dup
            ldc "Could not obtain parameters"
            aload 1 /* e */
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException e
        end local 0 // javax.net.ssl.SSLContextSpi this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Ljavax/net/ssl/SSLContextSpi;
            1    3     1  factory  Ljavax/net/ssl/SSLSocketFactory;
            4    5     1        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.io.IOException

  protected javax.net.ssl.SSLParameters engineGetDefaultSSLParameters();
    descriptor: ()Ljavax/net/ssl/SSLParameters;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // javax.net.ssl.SSLContextSpi this
         0: .line 188
            aload 0 /* this */
            invokevirtual javax.net.ssl.SSLContextSpi.getDefaultSocket:()Ljavax/net/ssl/SSLSocket;
            astore 1 /* socket */
        start local 1 // javax.net.ssl.SSLSocket socket
         1: .line 189
            aload 1 /* socket */
            invokevirtual javax.net.ssl.SSLSocket.getSSLParameters:()Ljavax/net/ssl/SSLParameters;
            areturn
        end local 1 // javax.net.ssl.SSLSocket socket
        end local 0 // javax.net.ssl.SSLContextSpi this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljavax/net/ssl/SSLContextSpi;
            1    2     1  socket  Ljavax/net/ssl/SSLSocket;

  protected javax.net.ssl.SSLParameters engineGetSupportedSSLParameters();
    descriptor: ()Ljavax/net/ssl/SSLParameters;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // javax.net.ssl.SSLContextSpi this
         0: .line 212
            aload 0 /* this */
            invokevirtual javax.net.ssl.SSLContextSpi.getDefaultSocket:()Ljavax/net/ssl/SSLSocket;
            astore 1 /* socket */
        start local 1 // javax.net.ssl.SSLSocket socket
         1: .line 213
            new javax.net.ssl.SSLParameters
            dup
            invokespecial javax.net.ssl.SSLParameters.<init>:()V
            astore 2 /* params */
        start local 2 // javax.net.ssl.SSLParameters params
         2: .line 214
            aload 2 /* params */
            aload 1 /* socket */
            invokevirtual javax.net.ssl.SSLSocket.getSupportedCipherSuites:()[Ljava/lang/String;
            invokevirtual javax.net.ssl.SSLParameters.setCipherSuites:([Ljava/lang/String;)V
         3: .line 215
            aload 2 /* params */
            aload 1 /* socket */
            invokevirtual javax.net.ssl.SSLSocket.getSupportedProtocols:()[Ljava/lang/String;
            invokevirtual javax.net.ssl.SSLParameters.setProtocols:([Ljava/lang/String;)V
         4: .line 216
            aload 2 /* params */
            areturn
        end local 2 // javax.net.ssl.SSLParameters params
        end local 1 // javax.net.ssl.SSLSocket socket
        end local 0 // javax.net.ssl.SSLContextSpi this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljavax/net/ssl/SSLContextSpi;
            1    5     1  socket  Ljavax/net/ssl/SSLSocket;
            2    5     2  params  Ljavax/net/ssl/SSLParameters;
}
SourceFile: "SSLContextSpi.java"