class sun.security.provider.KeyStoreDelegator extends java.security.KeyStoreSpi
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.security.provider.KeyStoreDelegator
  super_class: java.security.KeyStoreSpi
{
  private static final java.lang.String KEYSTORE_TYPE_COMPAT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "keystore.type.compat"

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

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

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

  private final java.lang.Class<? extends java.security.KeyStoreSpi> primaryKeyStore;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<+Ljava/security/KeyStoreSpi;>;

  private final java.lang.Class<? extends java.security.KeyStoreSpi> secondaryKeyStore;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<+Ljava/security/KeyStoreSpi;>;

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

  private java.security.KeyStoreSpi keystore;
    descriptor: Ljava/security/KeyStoreSpi;
    flags: (0x0002) ACC_PRIVATE

  private boolean compatModeEnabled;
    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 46
            ldc "keystore"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic sun.security.provider.KeyStoreDelegator.debug:Lsun/security/util/Debug;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String, java.lang.Class<? extends java.security.KeyStoreSpi>, java.lang.String, java.lang.Class<? extends java.security.KeyStoreSpi>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // sun.security.provider.KeyStoreDelegator this
        start local 1 // java.lang.String primaryType
        start local 2 // java.lang.Class primaryKeyStore
        start local 3 // java.lang.String secondaryType
        start local 4 // java.lang.Class secondaryKeyStore
         0: .line 58
            aload 0 /* this */
            invokespecial java.security.KeyStoreSpi.<init>:()V
         1: .line 56
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.KeyStoreDelegator.compatModeEnabled:Z
         2: .line 66
            aload 0 /* this */
            ldc "true"
         3: .line 68
            new sun.security.provider.KeyStoreDelegator$1
            dup
            aload 0 /* this */
            invokespecial sun.security.provider.KeyStoreDelegator$1.<init>:(Lsun/security/provider/KeyStoreDelegator;)V
         4: .line 67
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
         5: .line 66
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            putfield sun.security.provider.KeyStoreDelegator.compatModeEnabled:Z
         6: .line 75
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.compatModeEnabled:Z
            ifeq 12
         7: .line 76
            aload 0 /* this */
            aload 1 /* primaryType */
            putfield sun.security.provider.KeyStoreDelegator.primaryType:Ljava/lang/String;
         8: .line 77
            aload 0 /* this */
            aload 3 /* secondaryType */
            putfield sun.security.provider.KeyStoreDelegator.secondaryType:Ljava/lang/String;
         9: .line 78
            aload 0 /* this */
            aload 2 /* primaryKeyStore */
            putfield sun.security.provider.KeyStoreDelegator.primaryKeyStore:Ljava/lang/Class;
        10: .line 79
            aload 0 /* this */
            aload 4 /* secondaryKeyStore */
            putfield sun.security.provider.KeyStoreDelegator.secondaryKeyStore:Ljava/lang/Class;
        11: .line 80
            goto 20
        12: .line 81
      StackMap locals: sun.security.provider.KeyStoreDelegator java.lang.String java.lang.Class java.lang.String java.lang.Class
      StackMap stack:
            aload 0 /* this */
            aload 1 /* primaryType */
            putfield sun.security.provider.KeyStoreDelegator.primaryType:Ljava/lang/String;
        13: .line 82
            aload 0 /* this */
            aconst_null
            putfield sun.security.provider.KeyStoreDelegator.secondaryType:Ljava/lang/String;
        14: .line 83
            aload 0 /* this */
            aload 2 /* primaryKeyStore */
            putfield sun.security.provider.KeyStoreDelegator.primaryKeyStore:Ljava/lang/Class;
        15: .line 84
            aload 0 /* this */
            aconst_null
            putfield sun.security.provider.KeyStoreDelegator.secondaryKeyStore:Ljava/lang/Class;
        16: .line 86
            getstatic sun.security.provider.KeyStoreDelegator.debug:Lsun/security/util/Debug;
            ifnull 20
        17: .line 87
            getstatic sun.security.provider.KeyStoreDelegator.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "WARNING: compatibility mode disabled for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 88
            aload 1 /* primaryType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* secondaryType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " keystore types"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 87
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        20: .line 91
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Class secondaryKeyStore
        end local 3 // java.lang.String secondaryType
        end local 2 // java.lang.Class primaryKeyStore
        end local 1 // java.lang.String primaryType
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   21     0               this  Lsun/security/provider/KeyStoreDelegator;
            0   21     1        primaryType  Ljava/lang/String;
            0   21     2    primaryKeyStore  Ljava/lang/Class<+Ljava/security/KeyStoreSpi;>;
            0   21     3      secondaryType  Ljava/lang/String;
            0   21     4  secondaryKeyStore  Ljava/lang/Class<+Ljava/security/KeyStoreSpi;>;
    Signature: (Ljava/lang/String;Ljava/lang/Class<+Ljava/security/KeyStoreSpi;>;Ljava/lang/String;Ljava/lang/Class<+Ljava/security/KeyStoreSpi;>;)V
    MethodParameters:
                   Name  Flags
      primaryType        
      primaryKeyStore    
      secondaryType      
      secondaryKeyStore  

  public java.security.Key engineGetKey(java.lang.String, char[]);
    descriptor: (Ljava/lang/String;[C)Ljava/security/Key;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.security.provider.KeyStoreDelegator this
        start local 1 // java.lang.String alias
        start local 2 // char[] password
         0: .line 96
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* alias */
            aload 2 /* password */
            invokevirtual java.security.KeyStoreSpi.engineGetKey:(Ljava/lang/String;[C)Ljava/security/Key;
            areturn
        end local 2 // char[] password
        end local 1 // java.lang.String alias
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lsun/security/provider/KeyStoreDelegator;
            0    1     1     alias  Ljava/lang/String;
            0    1     2  password  [C
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException
    MethodParameters:
          Name  Flags
      alias     
      password  

  public java.security.cert.Certificate[] engineGetCertificateChain(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/security/cert/Certificate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.KeyStoreDelegator this
        start local 1 // java.lang.String alias
         0: .line 101
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* alias */
            invokevirtual java.security.KeyStoreSpi.engineGetCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/Certificate;
            areturn
        end local 1 // java.lang.String alias
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/security/provider/KeyStoreDelegator;
            0    1     1  alias  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      alias  

  public java.security.cert.Certificate engineGetCertificate(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/security/cert/Certificate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.KeyStoreDelegator this
        start local 1 // java.lang.String alias
         0: .line 106
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* alias */
            invokevirtual java.security.KeyStoreSpi.engineGetCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            areturn
        end local 1 // java.lang.String alias
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/security/provider/KeyStoreDelegator;
            0    1     1  alias  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      alias  

  public java.util.Date engineGetCreationDate(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Date;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.KeyStoreDelegator this
        start local 1 // java.lang.String alias
         0: .line 111
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* alias */
            invokevirtual java.security.KeyStoreSpi.engineGetCreationDate:(Ljava/lang/String;)Ljava/util/Date;
            areturn
        end local 1 // java.lang.String alias
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/security/provider/KeyStoreDelegator;
            0    1     1  alias  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      alias  

  public void engineSetKeyEntry(java.lang.String, java.security.Key, char[], java.security.cert.Certificate[]);
    descriptor: (Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // sun.security.provider.KeyStoreDelegator this
        start local 1 // java.lang.String alias
        start local 2 // java.security.Key key
        start local 3 // char[] password
        start local 4 // java.security.cert.Certificate[] chain
         0: .line 117
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* alias */
            aload 2 /* key */
            aload 3 /* password */
            aload 4 /* chain */
            invokevirtual java.security.KeyStoreSpi.engineSetKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
         1: .line 118
            return
        end local 4 // java.security.cert.Certificate[] chain
        end local 3 // char[] password
        end local 2 // java.security.Key key
        end local 1 // java.lang.String alias
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lsun/security/provider/KeyStoreDelegator;
            0    2     1     alias  Ljava/lang/String;
            0    2     2       key  Ljava/security/Key;
            0    2     3  password  [C
            0    2     4     chain  [Ljava/security/cert/Certificate;
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
          Name  Flags
      alias     
      key       
      password  
      chain     

  public void engineSetKeyEntry(java.lang.String, byte[], java.security.cert.Certificate[]);
    descriptor: (Ljava/lang/String;[B[Ljava/security/cert/Certificate;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.security.provider.KeyStoreDelegator this
        start local 1 // java.lang.String alias
        start local 2 // byte[] key
        start local 3 // java.security.cert.Certificate[] chain
         0: .line 123
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* alias */
            aload 2 /* key */
            aload 3 /* chain */
            invokevirtual java.security.KeyStoreSpi.engineSetKeyEntry:(Ljava/lang/String;[B[Ljava/security/cert/Certificate;)V
         1: .line 124
            return
        end local 3 // java.security.cert.Certificate[] chain
        end local 2 // byte[] key
        end local 1 // java.lang.String alias
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/security/provider/KeyStoreDelegator;
            0    2     1  alias  Ljava/lang/String;
            0    2     2    key  [B
            0    2     3  chain  [Ljava/security/cert/Certificate;
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
       Name  Flags
      alias  
      key    
      chain  

  public void engineSetCertificateEntry(java.lang.String, java.security.cert.Certificate);
    descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.security.provider.KeyStoreDelegator this
        start local 1 // java.lang.String alias
        start local 2 // java.security.cert.Certificate cert
         0: .line 129
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* alias */
            aload 2 /* cert */
            invokevirtual java.security.KeyStoreSpi.engineSetCertificateEntry:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
         1: .line 130
            return
        end local 2 // java.security.cert.Certificate cert
        end local 1 // java.lang.String alias
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/security/provider/KeyStoreDelegator;
            0    2     1  alias  Ljava/lang/String;
            0    2     2   cert  Ljava/security/cert/Certificate;
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
       Name  Flags
      alias  
      cert   

  public void engineDeleteEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.KeyStoreDelegator this
        start local 1 // java.lang.String alias
         0: .line 134
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* alias */
            invokevirtual java.security.KeyStoreSpi.engineDeleteEntry:(Ljava/lang/String;)V
         1: .line 135
            return
        end local 1 // java.lang.String alias
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/security/provider/KeyStoreDelegator;
            0    2     1  alias  Ljava/lang/String;
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
       Name  Flags
      alias  

  public java.util.Enumeration<java.lang.String> engineAliases();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.provider.KeyStoreDelegator this
         0: .line 139
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            invokevirtual java.security.KeyStoreSpi.engineAliases:()Ljava/util/Enumeration;
            areturn
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/provider/KeyStoreDelegator;
    Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;

  public boolean engineContainsAlias(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.KeyStoreDelegator this
        start local 1 // java.lang.String alias
         0: .line 144
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* alias */
            invokevirtual java.security.KeyStoreSpi.engineContainsAlias:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String alias
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/security/provider/KeyStoreDelegator;
            0    1     1  alias  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      alias  

  public int engineSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.provider.KeyStoreDelegator this
         0: .line 149
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            invokevirtual java.security.KeyStoreSpi.engineSize:()I
            ireturn
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/provider/KeyStoreDelegator;

  public boolean engineIsKeyEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.KeyStoreDelegator this
        start local 1 // java.lang.String alias
         0: .line 154
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* alias */
            invokevirtual java.security.KeyStoreSpi.engineIsKeyEntry:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String alias
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/security/provider/KeyStoreDelegator;
            0    1     1  alias  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      alias  

  public boolean engineIsCertificateEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.KeyStoreDelegator this
        start local 1 // java.lang.String alias
         0: .line 159
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* alias */
            invokevirtual java.security.KeyStoreSpi.engineIsCertificateEntry:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String alias
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/security/provider/KeyStoreDelegator;
            0    1     1  alias  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      alias  

  public java.lang.String engineGetCertificateAlias(java.security.cert.Certificate);
    descriptor: (Ljava/security/cert/Certificate;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.KeyStoreDelegator this
        start local 1 // java.security.cert.Certificate cert
         0: .line 164
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* cert */
            invokevirtual java.security.KeyStoreSpi.engineGetCertificateAlias:(Ljava/security/cert/Certificate;)Ljava/lang/String;
            areturn
        end local 1 // java.security.cert.Certificate cert
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/provider/KeyStoreDelegator;
            0    1     1  cert  Ljava/security/cert/Certificate;
    MethodParameters:
      Name  Flags
      cert  

  public java.security.KeyStore$Entry engineGetEntry(java.lang.String, java.security.KeyStore$ProtectionParameter);
    descriptor: (Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.security.provider.KeyStoreDelegator this
        start local 1 // java.lang.String alias
        start local 2 // java.security.KeyStore$ProtectionParameter protParam
         0: .line 172
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* alias */
            aload 2 /* protParam */
            invokevirtual java.security.KeyStoreSpi.engineGetEntry:(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
            areturn
        end local 2 // java.security.KeyStore$ProtectionParameter protParam
        end local 1 // java.lang.String alias
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lsun/security/provider/KeyStoreDelegator;
            0    1     1      alias  Ljava/lang/String;
            0    1     2  protParam  Ljava/security/KeyStore$ProtectionParameter;
    Exceptions:
      throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableEntryException
    MethodParameters:
           Name  Flags
      alias      
      protParam  

  public void engineSetEntry(java.lang.String, java.security.KeyStore$Entry, java.security.KeyStore$ProtectionParameter);
    descriptor: (Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.security.provider.KeyStoreDelegator this
        start local 1 // java.lang.String alias
        start local 2 // java.security.KeyStore$Entry entry
        start local 3 // java.security.KeyStore$ProtectionParameter protParam
         0: .line 179
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* alias */
            aload 2 /* entry */
            aload 3 /* protParam */
            invokevirtual java.security.KeyStoreSpi.engineSetEntry:(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
         1: .line 180
            return
        end local 3 // java.security.KeyStore$ProtectionParameter protParam
        end local 2 // java.security.KeyStore$Entry entry
        end local 1 // java.lang.String alias
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lsun/security/provider/KeyStoreDelegator;
            0    2     1      alias  Ljava/lang/String;
            0    2     2      entry  Ljava/security/KeyStore$Entry;
            0    2     3  protParam  Ljava/security/KeyStore$ProtectionParameter;
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
           Name  Flags
      alias      
      entry      
      protParam  

  public boolean engineEntryInstanceOf(java.lang.String, java.lang.Class<? extends java.security.KeyStore$Entry>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.security.provider.KeyStoreDelegator this
        start local 1 // java.lang.String alias
        start local 2 // java.lang.Class entryClass
         0: .line 185
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* alias */
            aload 2 /* entryClass */
            invokevirtual java.security.KeyStoreSpi.engineEntryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
            ireturn
        end local 2 // java.lang.Class entryClass
        end local 1 // java.lang.String alias
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lsun/security/provider/KeyStoreDelegator;
            0    1     1       alias  Ljava/lang/String;
            0    1     2  entryClass  Ljava/lang/Class<+Ljava/security/KeyStore$Entry;>;
    Signature: (Ljava/lang/String;Ljava/lang/Class<+Ljava/security/KeyStore$Entry;>;)Z
    MethodParameters:
            Name  Flags
      alias       
      entryClass  

  public void engineStore(java.io.OutputStream, char[]);
    descriptor: (Ljava/io/OutputStream;[C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.security.provider.KeyStoreDelegator this
        start local 1 // java.io.OutputStream stream
        start local 2 // char[] password
         0: .line 192
            getstatic sun.security.provider.KeyStoreDelegator.debug:Lsun/security/util/Debug;
            ifnull 2
         1: .line 193
            getstatic sun.security.provider.KeyStoreDelegator.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Storing keystore in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.type:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " format"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         2: .line 195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* stream */
            aload 2 /* password */
            invokevirtual java.security.KeyStoreSpi.engineStore:(Ljava/io/OutputStream;[C)V
         3: .line 196
            return
        end local 2 // char[] password
        end local 1 // java.io.OutputStream stream
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lsun/security/provider/KeyStoreDelegator;
            0    4     1    stream  Ljava/io/OutputStream;
            0    4     2  password  [C
    Exceptions:
      throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
    MethodParameters:
          Name  Flags
      stream    
      password  

  public void engineLoad(java.io.InputStream, char[]);
    descriptor: (Ljava/io/InputStream;[C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // sun.security.provider.KeyStoreDelegator this
        start local 1 // java.io.InputStream stream
        start local 2 // char[] password
         0: .line 203
            aload 1 /* stream */
            ifnull 1
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.compatModeEnabled:Z
            ifne 9
         1: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.primaryKeyStore:Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast java.security.KeyStoreSpi
            putfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
         2: .line 207
            goto 4
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
         3: pop
         4: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.primaryType:Ljava/lang/String;
            putfield sun.security.provider.KeyStoreDelegator.type:Ljava/lang/String;
         5: .line 212
            getstatic sun.security.provider.KeyStoreDelegator.debug:Lsun/security/util/Debug;
            ifnull 7
            aload 1 /* stream */
            ifnonnull 7
         6: .line 213
            getstatic sun.security.provider.KeyStoreDelegator.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Creating a new keystore in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.type:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " format"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         7: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* stream */
            aload 2 /* password */
            invokevirtual java.security.KeyStoreSpi.engineLoad:(Ljava/io/InputStream;[C)V
         8: .line 217
            goto 44
         9: .line 219
      StackMap locals:
      StackMap stack:
            new java.io.BufferedInputStream
            dup
            aload 1 /* stream */
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 3 /* bufferedStream */
        start local 3 // java.io.InputStream bufferedStream
        10: .line 220
            aload 3 /* bufferedStream */
            ldc 2147483647
            invokevirtual java.io.InputStream.mark:(I)V
        11: .line 222
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.primaryKeyStore:Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast java.security.KeyStoreSpi
            putfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
        12: .line 223
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.primaryType:Ljava/lang/String;
            putfield sun.security.provider.KeyStoreDelegator.type:Ljava/lang/String;
        13: .line 224
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 3 /* bufferedStream */
            aload 2 /* password */
            invokevirtual java.security.KeyStoreSpi.engineLoad:(Ljava/io/InputStream;[C)V
        14: .line 226
            goto 42
      StackMap locals: sun.security.provider.KeyStoreDelegator java.io.InputStream char[] java.io.InputStream
      StackMap stack: java.lang.Exception
        15: astore 4 /* e */
        start local 4 // java.lang.Exception e
        16: .line 229
            aload 4 /* e */
            instanceof java.io.IOException
            ifeq 19
        17: .line 230
            aload 4 /* e */
            invokevirtual java.lang.Exception.getCause:()Ljava/lang/Throwable;
            instanceof java.security.UnrecoverableKeyException
            ifeq 19
        18: .line 231
            aload 4 /* e */
            checkcast java.io.IOException
            athrow
        19: .line 235
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.secondaryKeyStore:Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast java.security.KeyStoreSpi
            putfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
        20: .line 236
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.secondaryType:Ljava/lang/String;
            putfield sun.security.provider.KeyStoreDelegator.type:Ljava/lang/String;
        21: .line 237
            aload 3 /* bufferedStream */
            invokevirtual java.io.InputStream.reset:()V
        22: .line 238
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 3 /* bufferedStream */
            aload 2 /* password */
            invokevirtual java.security.KeyStoreSpi.engineLoad:(Ljava/io/InputStream;[C)V
        23: .line 240
            getstatic sun.security.provider.KeyStoreDelegator.debug:Lsun/security/util/Debug;
            ifnull 42
        24: .line 241
            getstatic sun.security.provider.KeyStoreDelegator.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "WARNING: switching from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        25: .line 242
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.primaryType:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.secondaryType:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 243
            ldc " keystore file format has altered the "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 244
            ldc "keystore security level"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 241
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        29: .line 247
            goto 42
        30: .line 248
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            pop
            goto 42
        31: .line 253
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 5 /* e3 */
        start local 5 // java.lang.Exception e3
        32: .line 256
            aload 5 /* e3 */
            instanceof java.io.IOException
            ifeq 36
        33: .line 257
            aload 5 /* e3 */
            invokevirtual java.lang.Exception.getCause:()Ljava/lang/Throwable;
            instanceof java.security.UnrecoverableKeyException
        34: .line 258
            ifeq 36
        35: .line 259
            aload 5 /* e3 */
            checkcast java.io.IOException
            athrow
        36: .line 262
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 4 /* e */
            instanceof java.io.IOException
            ifeq 38
        37: .line 263
            aload 4 /* e */
            checkcast java.io.IOException
            athrow
        38: .line 264
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            instanceof java.security.cert.CertificateException
            ifeq 40
        39: .line 265
            aload 4 /* e */
            checkcast java.security.cert.CertificateException
            athrow
        40: .line 266
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            instanceof java.security.NoSuchAlgorithmException
            ifeq 42
        41: .line 267
            aload 4 /* e */
            checkcast java.security.NoSuchAlgorithmException
            athrow
        end local 5 // java.lang.Exception e3
        end local 4 // java.lang.Exception e
        42: .line 272
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.KeyStoreDelegator.debug:Lsun/security/util/Debug;
            ifnull 44
        43: .line 273
            getstatic sun.security.provider.KeyStoreDelegator.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Loaded a keystore in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.provider.KeyStoreDelegator.type:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " format"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 3 // java.io.InputStream bufferedStream
        44: .line 276
      StackMap locals:
      StackMap stack:
            return
        end local 2 // char[] password
        end local 1 // java.io.InputStream stream
        end local 0 // sun.security.provider.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   45     0            this  Lsun/security/provider/KeyStoreDelegator;
            0   45     1          stream  Ljava/io/InputStream;
            0   45     2        password  [C
           10   44     3  bufferedStream  Ljava/io/InputStream;
           16   42     4               e  Ljava/lang/Exception;
           32   42     5              e3  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.InstantiationException
           1     2       3  Class java.lang.IllegalAccessException
          11    14      15  Class java.lang.Exception
          19    29      30  Class java.lang.InstantiationException
          19    29      30  Class java.lang.IllegalAccessException
          19    29      31  Class java.io.IOException
          19    29      31  Class java.security.NoSuchAlgorithmException
          19    29      31  Class java.security.cert.CertificateException
    Exceptions:
      throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
    MethodParameters:
          Name  Flags
      stream    
      password  
}
SourceFile: "KeyStoreDelegator.java"
NestMembers:
  sun.security.provider.KeyStoreDelegator$1
InnerClasses:
  public abstract Entry = java.security.KeyStore$Entry of java.security.KeyStore
  public abstract ProtectionParameter = java.security.KeyStore$ProtectionParameter of java.security.KeyStore
  sun.security.provider.KeyStoreDelegator$1