final class com.sun.net.ssl.SSLContextSpiWrapper extends com.sun.net.ssl.SSLContextSpi
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.sun.net.ssl.SSLContextSpiWrapper
  super_class: com.sun.net.ssl.SSLContextSpi
{
  private javax.net.ssl.SSLContext theSSLContext;
    descriptor: Ljavax/net/ssl/SSLContext;
    flags: (0x0002) ACC_PRIVATE

  void <init>(java.lang.String, java.security.Provider);
    descriptor: (Ljava/lang/String;Ljava/security/Provider;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.net.ssl.SSLContextSpiWrapper this
        start local 1 // java.lang.String algName
        start local 2 // java.security.Provider prov
         0: .line 284
            aload 0 /* this */
            invokespecial com.sun.net.ssl.SSLContextSpi.<init>:()V
         1: .line 286
            aload 0 /* this */
            aload 1 /* algName */
            aload 2 /* prov */
            invokestatic javax.net.ssl.SSLContext.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljavax/net/ssl/SSLContext;
            putfield com.sun.net.ssl.SSLContextSpiWrapper.theSSLContext:Ljavax/net/ssl/SSLContext;
         2: .line 287
            return
        end local 2 // java.security.Provider prov
        end local 1 // java.lang.String algName
        end local 0 // com.sun.net.ssl.SSLContextSpiWrapper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/sun/net/ssl/SSLContextSpiWrapper;
            0    3     1  algName  Ljava/lang/String;
            0    3     2     prov  Ljava/security/Provider;
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    MethodParameters:
         Name  Flags
      algName  
      prov     

  protected void engineInit(com.sun.net.ssl.KeyManager[], com.sun.net.ssl.TrustManager[], java.security.SecureRandom);
    descriptor: ([Lcom/sun/net/ssl/KeyManager;[Lcom/sun/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // com.sun.net.ssl.SSLContextSpiWrapper this
        start local 1 // com.sun.net.ssl.KeyManager[] kma
        start local 2 // com.sun.net.ssl.TrustManager[] tma
        start local 3 // java.security.SecureRandom sr
         0: .line 301
            aload 1 /* kma */
            ifnull 24
         1: .line 302
            aload 1 /* kma */
            arraylength
            anewarray javax.net.ssl.KeyManager
            astore 6 /* kmaw */
        start local 6 // javax.net.ssl.KeyManager[] kmaw
         2: .line 303
            iconst_0
            istore 5 /* src */
        start local 5 // int src
         3: iconst_0
            istore 4 /* dst */
        start local 4 // int dst
         4: goto 17
         5: .line 309
      StackMap locals: int int javax.net.ssl.KeyManager[]
      StackMap stack:
            aload 1 /* kma */
            iload 5 /* src */
            aaload
            instanceof javax.net.ssl.KeyManager
            ifne 14
         6: .line 317
            aload 1 /* kma */
            iload 5 /* src */
            aaload
            instanceof com.sun.net.ssl.X509KeyManager
            ifeq 16
         7: .line 318
            aload 6 /* kmaw */
            iload 4 /* dst */
         8: .line 319
            new com.sun.net.ssl.X509KeyManagerJavaxWrapper
            dup
         9: .line 320
            aload 1 /* kma */
            iload 5 /* src */
            aaload
            checkcast com.sun.net.ssl.X509KeyManager
        10: .line 319
            invokespecial com.sun.net.ssl.X509KeyManagerJavaxWrapper.<init>:(Lcom/sun/net/ssl/X509KeyManager;)V
        11: .line 318
            aastore
        12: .line 321
            iinc 4 /* dst */ 1
        13: .line 323
            goto 16
        14: .line 325
      StackMap locals:
      StackMap stack:
            aload 6 /* kmaw */
            iload 4 /* dst */
            aload 1 /* kma */
            iload 5 /* src */
            aaload
            checkcast javax.net.ssl.KeyManager
            aastore
        15: .line 326
            iinc 4 /* dst */ 1
        16: .line 328
      StackMap locals:
      StackMap stack:
            iinc 5 /* src */ 1
        17: .line 303
      StackMap locals:
      StackMap stack:
            iload 5 /* src */
            aload 1 /* kma */
            arraylength
            if_icmplt 5
        18: .line 336
            iload 4 /* dst */
            iload 5 /* src */
            if_icmpeq 25
        19: .line 338
            aload 6 /* kmaw */
        20: .line 339
            iload 4 /* dst */
            anewarray javax.net.ssl.KeyManager
        21: .line 338
            invokestatic com.sun.net.ssl.SSLSecurity.truncateArray:([Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
        22: .line 337
            checkcast javax.net.ssl.KeyManager[]
            astore 6 /* kmaw */
        23: .line 341
            goto 25
        end local 6 // javax.net.ssl.KeyManager[] kmaw
        end local 5 // int src
        end local 4 // int dst
        24: .line 342
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* kmaw */
        start local 6 // javax.net.ssl.KeyManager[] kmaw
        25: .line 346
      StackMap locals: com.sun.net.ssl.SSLContextSpiWrapper com.sun.net.ssl.KeyManager[] com.sun.net.ssl.TrustManager[] java.security.SecureRandom top top javax.net.ssl.KeyManager[]
      StackMap stack:
            aload 2 /* tma */
            ifnull 49
        26: .line 347
            aload 2 /* tma */
            arraylength
            anewarray javax.net.ssl.TrustManager
            astore 7 /* tmaw */
        start local 7 // javax.net.ssl.TrustManager[] tmaw
        27: .line 349
            iconst_0
            istore 5 /* src */
        start local 5 // int src
        28: iconst_0
            istore 4 /* dst */
        start local 4 // int dst
        29: goto 42
        30: .line 353
      StackMap locals: com.sun.net.ssl.SSLContextSpiWrapper com.sun.net.ssl.KeyManager[] com.sun.net.ssl.TrustManager[] java.security.SecureRandom int int javax.net.ssl.KeyManager[] javax.net.ssl.TrustManager[]
      StackMap stack:
            aload 2 /* tma */
            iload 5 /* src */
            aaload
            instanceof javax.net.ssl.TrustManager
            ifne 39
        31: .line 355
            aload 2 /* tma */
            iload 5 /* src */
            aaload
            instanceof com.sun.net.ssl.X509TrustManager
            ifeq 41
        32: .line 356
            aload 7 /* tmaw */
            iload 4 /* dst */
        33: .line 357
            new com.sun.net.ssl.X509TrustManagerJavaxWrapper
            dup
        34: .line 358
            aload 2 /* tma */
            iload 5 /* src */
            aaload
            checkcast com.sun.net.ssl.X509TrustManager
        35: .line 357
            invokespecial com.sun.net.ssl.X509TrustManagerJavaxWrapper.<init>:(Lcom/sun/net/ssl/X509TrustManager;)V
        36: .line 356
            aastore
        37: .line 359
            iinc 4 /* dst */ 1
        38: .line 361
            goto 41
        39: .line 362
      StackMap locals:
      StackMap stack:
            aload 7 /* tmaw */
            iload 4 /* dst */
            aload 2 /* tma */
            iload 5 /* src */
            aaload
            checkcast javax.net.ssl.TrustManager
            aastore
        40: .line 363
            iinc 4 /* dst */ 1
        41: .line 365
      StackMap locals:
      StackMap stack:
            iinc 5 /* src */ 1
        42: .line 349
      StackMap locals:
      StackMap stack:
            iload 5 /* src */
            aload 2 /* tma */
            arraylength
            if_icmplt 30
        43: .line 368
            iload 4 /* dst */
            iload 5 /* src */
            if_icmpeq 50
        44: .line 370
            aload 7 /* tmaw */
        45: .line 371
            iload 4 /* dst */
            anewarray javax.net.ssl.TrustManager
        46: .line 370
            invokestatic com.sun.net.ssl.SSLSecurity.truncateArray:([Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
        47: .line 369
            checkcast javax.net.ssl.TrustManager[]
            astore 7 /* tmaw */
        48: .line 373
            goto 50
        end local 7 // javax.net.ssl.TrustManager[] tmaw
        end local 5 // int src
        end local 4 // int dst
        49: .line 374
      StackMap locals: com.sun.net.ssl.SSLContextSpiWrapper com.sun.net.ssl.KeyManager[] com.sun.net.ssl.TrustManager[] java.security.SecureRandom top top javax.net.ssl.KeyManager[]
      StackMap stack:
            aconst_null
            astore 7 /* tmaw */
        start local 7 // javax.net.ssl.TrustManager[] tmaw
        50: .line 377
      StackMap locals: javax.net.ssl.TrustManager[]
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.net.ssl.SSLContextSpiWrapper.theSSLContext:Ljavax/net/ssl/SSLContext;
            aload 6 /* kmaw */
            aload 7 /* tmaw */
            aload 3 /* sr */
            invokevirtual javax.net.ssl.SSLContext.init:([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
        51: .line 378
            return
        end local 7 // javax.net.ssl.TrustManager[] tmaw
        end local 6 // javax.net.ssl.KeyManager[] kmaw
        end local 3 // java.security.SecureRandom sr
        end local 2 // com.sun.net.ssl.TrustManager[] tma
        end local 1 // com.sun.net.ssl.KeyManager[] kma
        end local 0 // com.sun.net.ssl.SSLContextSpiWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   52     0  this  Lcom/sun/net/ssl/SSLContextSpiWrapper;
            0   52     1   kma  [Lcom/sun/net/ssl/KeyManager;
            0   52     2   tma  [Lcom/sun/net/ssl/TrustManager;
            0   52     3    sr  Ljava/security/SecureRandom;
            4   24     4   dst  I
           29   49     4   dst  I
            3   24     5   src  I
           28   49     5   src  I
            2   24     6  kmaw  [Ljavax/net/ssl/KeyManager;
           25   52     6  kmaw  [Ljavax/net/ssl/KeyManager;
           27   49     7  tmaw  [Ljavax/net/ssl/TrustManager;
           50   52     7  tmaw  [Ljavax/net/ssl/TrustManager;
    Exceptions:
      throws java.security.KeyManagementException
    MethodParameters:
      Name  Flags
      kma   
      tma   
      sr    

  protected javax.net.ssl.SSLSocketFactory engineGetSocketFactory();
    descriptor: ()Ljavax/net/ssl/SSLSocketFactory;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.net.ssl.SSLContextSpiWrapper this
         0: .line 382
            aload 0 /* this */
            getfield com.sun.net.ssl.SSLContextSpiWrapper.theSSLContext:Ljavax/net/ssl/SSLContext;
            invokevirtual javax.net.ssl.SSLContext.getSocketFactory:()Ljavax/net/ssl/SSLSocketFactory;
            areturn
        end local 0 // com.sun.net.ssl.SSLContextSpiWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/net/ssl/SSLContextSpiWrapper;

  protected javax.net.ssl.SSLServerSocketFactory engineGetServerSocketFactory();
    descriptor: ()Ljavax/net/ssl/SSLServerSocketFactory;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.net.ssl.SSLContextSpiWrapper this
         0: .line 387
            aload 0 /* this */
            getfield com.sun.net.ssl.SSLContextSpiWrapper.theSSLContext:Ljavax/net/ssl/SSLContext;
            invokevirtual javax.net.ssl.SSLContext.getServerSocketFactory:()Ljavax/net/ssl/SSLServerSocketFactory;
            areturn
        end local 0 // com.sun.net.ssl.SSLContextSpiWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/net/ssl/SSLContextSpiWrapper;
}
SourceFile: "SSLSecurity.java"