public class sun.security.util.KeyStoreDelegator extends java.security.KeyStoreSpi
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.util.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 java.lang.String primaryType;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

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

  private java.lang.Class<? extends java.security.KeyStoreSpi> secondaryKeyStore;
    descriptor: Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    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.util.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=4, locals=5, args_size=5
        start local 0 // sun.security.util.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.util.KeyStoreDelegator.compatModeEnabled:Z
         2: .line 65
            aload 0 /* this */
            ldc "true"
         3: .line 66
            invokedynamic run()Ljava/security/PrivilegedAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  sun/security/util/KeyStoreDelegator.lambda$0()Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
         4: .line 65
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            putfield sun.security.util.KeyStoreDelegator.compatModeEnabled:Z
         5: .line 69
            aload 0 /* this */
            getfield sun.security.util.KeyStoreDelegator.compatModeEnabled:Z
            ifeq 11
         6: .line 70
            aload 0 /* this */
            aload 1 /* primaryType */
            putfield sun.security.util.KeyStoreDelegator.primaryType:Ljava/lang/String;
         7: .line 71
            aload 0 /* this */
            aload 3 /* secondaryType */
            putfield sun.security.util.KeyStoreDelegator.secondaryType:Ljava/lang/String;
         8: .line 72
            aload 0 /* this */
            aload 2 /* primaryKeyStore */
            putfield sun.security.util.KeyStoreDelegator.primaryKeyStore:Ljava/lang/Class;
         9: .line 73
            aload 0 /* this */
            aload 4 /* secondaryKeyStore */
            putfield sun.security.util.KeyStoreDelegator.secondaryKeyStore:Ljava/lang/Class;
        10: .line 74
            goto 19
        11: .line 75
      StackMap locals: sun.security.util.KeyStoreDelegator java.lang.String java.lang.Class java.lang.String java.lang.Class
      StackMap stack:
            aload 0 /* this */
            aload 1 /* primaryType */
            putfield sun.security.util.KeyStoreDelegator.primaryType:Ljava/lang/String;
        12: .line 76
            aload 0 /* this */
            aconst_null
            putfield sun.security.util.KeyStoreDelegator.secondaryType:Ljava/lang/String;
        13: .line 77
            aload 0 /* this */
            aload 2 /* primaryKeyStore */
            putfield sun.security.util.KeyStoreDelegator.primaryKeyStore:Ljava/lang/Class;
        14: .line 78
            aload 0 /* this */
            aconst_null
            putfield sun.security.util.KeyStoreDelegator.secondaryKeyStore:Ljava/lang/Class;
        15: .line 80
            getstatic sun.security.util.KeyStoreDelegator.debug:Lsun/security/util/Debug;
            ifnull 19
        16: .line 81
            getstatic sun.security.util.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
        17: .line 82
            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;
        18: .line 81
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        19: .line 85
      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.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   20     0               this  Lsun/security/util/KeyStoreDelegator;
            0   20     1        primaryType  Ljava/lang/String;
            0   20     2    primaryKeyStore  Ljava/lang/Class<+Ljava/security/KeyStoreSpi;>;
            0   20     3      secondaryType  Ljava/lang/String;
            0   20     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.util.KeyStoreDelegator this
        start local 1 // java.lang.String alias
        start local 2 // char[] password
         0: .line 90
            aload 0 /* this */
            getfield sun.security.util.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.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lsun/security/util/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.util.KeyStoreDelegator this
        start local 1 // java.lang.String alias
         0: .line 95
            aload 0 /* this */
            getfield sun.security.util.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.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/security/util/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.util.KeyStoreDelegator this
        start local 1 // java.lang.String alias
         0: .line 100
            aload 0 /* this */
            getfield sun.security.util.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.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/security/util/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.util.KeyStoreDelegator this
        start local 1 // java.lang.String alias
         0: .line 105
            aload 0 /* this */
            getfield sun.security.util.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.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/security/util/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.util.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 111
            aload 0 /* this */
            getfield sun.security.util.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 112
            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.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lsun/security/util/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.util.KeyStoreDelegator this
        start local 1 // java.lang.String alias
        start local 2 // byte[] key
        start local 3 // java.security.cert.Certificate[] chain
         0: .line 117
            aload 0 /* this */
            getfield sun.security.util.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 118
            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.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/security/util/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.util.KeyStoreDelegator this
        start local 1 // java.lang.String alias
        start local 2 // java.security.cert.Certificate cert
         0: .line 123
            aload 0 /* this */
            getfield sun.security.util.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 124
            return
        end local 2 // java.security.cert.Certificate cert
        end local 1 // java.lang.String alias
        end local 0 // sun.security.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/security/util/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.util.KeyStoreDelegator this
        start local 1 // java.lang.String alias
         0: .line 128
            aload 0 /* this */
            getfield sun.security.util.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* alias */
            invokevirtual java.security.KeyStoreSpi.engineDeleteEntry:(Ljava/lang/String;)V
         1: .line 129
            return
        end local 1 // java.lang.String alias
        end local 0 // sun.security.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/security/util/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.util.KeyStoreDelegator this
         0: .line 133
            aload 0 /* this */
            getfield sun.security.util.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            invokevirtual java.security.KeyStoreSpi.engineAliases:()Ljava/util/Enumeration;
            areturn
        end local 0 // sun.security.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/util/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.util.KeyStoreDelegator this
        start local 1 // java.lang.String alias
         0: .line 138
            aload 0 /* this */
            getfield sun.security.util.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.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/security/util/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.util.KeyStoreDelegator this
         0: .line 143
            aload 0 /* this */
            getfield sun.security.util.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            invokevirtual java.security.KeyStoreSpi.engineSize:()I
            ireturn
        end local 0 // sun.security.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/util/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.util.KeyStoreDelegator this
        start local 1 // java.lang.String alias
         0: .line 148
            aload 0 /* this */
            getfield sun.security.util.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.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/security/util/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.util.KeyStoreDelegator this
        start local 1 // java.lang.String alias
         0: .line 153
            aload 0 /* this */
            getfield sun.security.util.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.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/security/util/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.util.KeyStoreDelegator this
        start local 1 // java.security.cert.Certificate cert
         0: .line 158
            aload 0 /* this */
            getfield sun.security.util.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.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/util/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.util.KeyStoreDelegator this
        start local 1 // java.lang.String alias
        start local 2 // java.security.KeyStore$ProtectionParameter protParam
         0: .line 166
            aload 0 /* this */
            getfield sun.security.util.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.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lsun/security/util/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.util.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 173
            aload 0 /* this */
            getfield sun.security.util.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 174
            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.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lsun/security/util/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.util.KeyStoreDelegator this
        start local 1 // java.lang.String alias
        start local 2 // java.lang.Class entryClass
         0: .line 179
            aload 0 /* this */
            getfield sun.security.util.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.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lsun/security/util/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.util.KeyStoreDelegator this
        start local 1 // java.io.OutputStream stream
        start local 2 // char[] password
         0: .line 186
            getstatic sun.security.util.KeyStoreDelegator.debug:Lsun/security/util/Debug;
            ifnull 2
         1: .line 187
            getstatic sun.security.util.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.util.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 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* stream */
            aload 2 /* password */
            invokevirtual java.security.KeyStoreSpi.engineStore:(Ljava/io/OutputStream;[C)V
         3: .line 190
            return
        end local 2 // char[] password
        end local 1 // java.io.OutputStream stream
        end local 0 // sun.security.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lsun/security/util/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.util.KeyStoreDelegator this
        start local 1 // java.io.InputStream stream
        start local 2 // char[] password
         0: .line 197
            aload 1 /* stream */
            ifnonnull 10
         1: .line 200
            aload 0 /* this */
            getfield sun.security.util.KeyStoreDelegator.primaryKeyStore:Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast java.security.KeyStoreSpi
            astore 3 /* tmp */
        start local 3 // java.security.KeyStoreSpi tmp
         2: .line 201
            aload 0 /* this */
            aload 3 /* tmp */
            putfield sun.security.util.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
        end local 3 // java.security.KeyStoreSpi tmp
         3: .line 202
            goto 5
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
         4: pop
         5: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.util.KeyStoreDelegator.primaryType:Ljava/lang/String;
            putfield sun.security.util.KeyStoreDelegator.type:Ljava/lang/String;
         6: .line 207
            getstatic sun.security.util.KeyStoreDelegator.debug:Lsun/security/util/Debug;
            ifnull 8
         7: .line 208
            getstatic sun.security.util.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.util.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
         8: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* stream */
            aload 2 /* password */
            invokevirtual java.security.KeyStoreSpi.engineLoad:(Ljava/io/InputStream;[C)V
         9: .line 212
            goto 48
        10: .line 214
      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
        11: .line 215
            aload 3 /* bufferedStream */
            ldc 2147483647
            invokevirtual java.io.InputStream.mark:(I)V
        12: .line 219
            aload 0 /* this */
            getfield sun.security.util.KeyStoreDelegator.primaryKeyStore:Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast java.security.KeyStoreSpi
            astore 4 /* tmp */
        start local 4 // java.security.KeyStoreSpi tmp
        13: .line 220
            aload 0 /* this */
            aload 4 /* tmp */
            putfield sun.security.util.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
        14: .line 221
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.util.KeyStoreDelegator.primaryType:Ljava/lang/String;
            putfield sun.security.util.KeyStoreDelegator.type:Ljava/lang/String;
        15: .line 222
            aload 0 /* this */
            getfield sun.security.util.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 3 /* bufferedStream */
            aload 2 /* password */
            invokevirtual java.security.KeyStoreSpi.engineLoad:(Ljava/io/InputStream;[C)V
        end local 4 // java.security.KeyStoreSpi tmp
        16: .line 224
            goto 46
      StackMap locals: sun.security.util.KeyStoreDelegator java.io.InputStream char[] java.io.InputStream
      StackMap stack: java.lang.Exception
        17: astore 4 /* e */
        start local 4 // java.lang.Exception e
        18: .line 227
            aload 4 /* e */
            instanceof java.io.IOException
            ifeq 21
        19: .line 228
            aload 4 /* e */
            invokevirtual java.lang.Exception.getCause:()Ljava/lang/Throwable;
            instanceof java.security.UnrecoverableKeyException
            ifeq 21
        20: .line 229
            aload 4 /* e */
            checkcast java.io.IOException
            athrow
        21: .line 234
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.KeyStoreDelegator.compatModeEnabled:Z
            ifne 23
        22: .line 235
            aload 4 /* e */
            athrow
        23: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.KeyStoreDelegator.secondaryKeyStore:Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast java.security.KeyStoreSpi
            astore 5 /* tmp */
        start local 5 // java.security.KeyStoreSpi tmp
        24: .line 240
            aload 0 /* this */
            aload 5 /* tmp */
            putfield sun.security.util.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
        25: .line 241
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.util.KeyStoreDelegator.secondaryType:Ljava/lang/String;
            putfield sun.security.util.KeyStoreDelegator.type:Ljava/lang/String;
        26: .line 242
            aload 3 /* bufferedStream */
            invokevirtual java.io.InputStream.reset:()V
        27: .line 243
            aload 0 /* this */
            getfield sun.security.util.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 3 /* bufferedStream */
            aload 2 /* password */
            invokevirtual java.security.KeyStoreSpi.engineLoad:(Ljava/io/InputStream;[C)V
        28: .line 245
            getstatic sun.security.util.KeyStoreDelegator.debug:Lsun/security/util/Debug;
            ifnull 46
        29: .line 246
            getstatic sun.security.util.KeyStoreDelegator.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "WARNING: switching from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        30: .line 247
            aload 0 /* this */
            getfield sun.security.util.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.util.KeyStoreDelegator.secondaryType:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        31: .line 248
            ldc " keystore file format has altered the "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        32: .line 249
            ldc "keystore security level"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        33: .line 246
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 5 // java.security.KeyStoreSpi tmp
        34: .line 252
            goto 46
        35: .line 253
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            pop
            goto 46
        36: .line 258
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 5 /* e3 */
        start local 5 // java.lang.Exception e3
        37: .line 261
            aload 5 /* e3 */
            instanceof java.io.IOException
            ifeq 40
        38: .line 262
            aload 5 /* e3 */
            invokevirtual java.lang.Exception.getCause:()Ljava/lang/Throwable;
            instanceof java.security.UnrecoverableKeyException
            ifeq 40
        39: .line 263
            aload 5 /* e3 */
            checkcast java.io.IOException
            athrow
        40: .line 266
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 4 /* e */
            instanceof java.io.IOException
            ifeq 42
        41: .line 267
            aload 4 /* e */
            checkcast java.io.IOException
            athrow
        42: .line 268
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            instanceof java.security.cert.CertificateException
            ifeq 44
        43: .line 269
            aload 4 /* e */
            checkcast java.security.cert.CertificateException
            athrow
        44: .line 270
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            instanceof java.security.NoSuchAlgorithmException
            ifeq 46
        45: .line 271
            aload 4 /* e */
            checkcast java.security.NoSuchAlgorithmException
            athrow
        end local 5 // java.lang.Exception e3
        end local 4 // java.lang.Exception e
        46: .line 276
      StackMap locals:
      StackMap stack:
            getstatic sun.security.util.KeyStoreDelegator.debug:Lsun/security/util/Debug;
            ifnull 48
        47: .line 277
            getstatic sun.security.util.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.util.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
        48: .line 280
      StackMap locals:
      StackMap stack:
            return
        end local 2 // char[] password
        end local 1 // java.io.InputStream stream
        end local 0 // sun.security.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   49     0            this  Lsun/security/util/KeyStoreDelegator;
            0   49     1          stream  Ljava/io/InputStream;
            0   49     2        password  [C
            2    3     3             tmp  Ljava/security/KeyStoreSpi;
           11   48     3  bufferedStream  Ljava/io/InputStream;
           13   16     4             tmp  Ljava/security/KeyStoreSpi;
           18   46     4               e  Ljava/lang/Exception;
           24   34     5             tmp  Ljava/security/KeyStoreSpi;
           37   46     5              e3  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     3       4  Class java.lang.InstantiationException
           1     3       4  Class java.lang.IllegalAccessException
          12    16      17  Class java.lang.Exception
          21    34      35  Class java.lang.InstantiationException
          21    34      35  Class java.lang.IllegalAccessException
          21    34      36  Class java.io.IOException
          21    34      36  Class java.security.NoSuchAlgorithmException
          21    34      36  Class java.security.cert.CertificateException
    Exceptions:
      throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
    MethodParameters:
          Name  Flags
      stream    
      password  

  public boolean engineProbe(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // sun.security.util.KeyStoreDelegator this
        start local 1 // java.io.InputStream stream
         0: .line 289
            iconst_0
            istore 2 /* result */
        start local 2 // boolean result
         1: .line 293
            aload 0 /* this */
            getfield sun.security.util.KeyStoreDelegator.primaryKeyStore:Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast java.security.KeyStoreSpi
            astore 3 /* tmp */
        start local 3 // java.security.KeyStoreSpi tmp
         2: .line 294
            aload 0 /* this */
            aload 3 /* tmp */
            putfield sun.security.util.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
         3: .line 295
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.util.KeyStoreDelegator.primaryType:Ljava/lang/String;
            putfield sun.security.util.KeyStoreDelegator.type:Ljava/lang/String;
         4: .line 296
            aload 0 /* this */
            getfield sun.security.util.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
            aload 1 /* stream */
            invokevirtual java.security.KeyStoreSpi.engineProbe:(Ljava/io/InputStream;)Z
            istore 2 /* result */
        end local 3 // java.security.KeyStoreSpi tmp
         5: .line 298
            goto 13
      StackMap locals: sun.security.util.KeyStoreDelegator java.io.InputStream int
      StackMap stack: java.lang.Exception
         6: astore 3 /* e */
        start local 3 // java.lang.Exception e
         7: .line 299
            new java.io.IOException
            dup
            aload 3 /* e */
            invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception e
         8: .line 301
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         9: .line 303
            iload 2 /* result */
            ifne 12
        10: .line 304
            aload 0 /* this */
            aconst_null
            putfield sun.security.util.KeyStoreDelegator.type:Ljava/lang/String;
        11: .line 305
            aload 0 /* this */
            aconst_null
            putfield sun.security.util.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
        12: .line 307
      StackMap locals: sun.security.util.KeyStoreDelegator java.io.InputStream int top java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
        13: .line 303
      StackMap locals: sun.security.util.KeyStoreDelegator java.io.InputStream int
      StackMap stack:
            iload 2 /* result */
            ifne 16
        14: .line 304
            aload 0 /* this */
            aconst_null
            putfield sun.security.util.KeyStoreDelegator.type:Ljava/lang/String;
        15: .line 305
            aload 0 /* this */
            aconst_null
            putfield sun.security.util.KeyStoreDelegator.keystore:Ljava/security/KeyStoreSpi;
        16: .line 309
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.io.InputStream stream
        end local 0 // sun.security.util.KeyStoreDelegator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Lsun/security/util/KeyStoreDelegator;
            0   17     1  stream  Ljava/io/InputStream;
            1   17     2  result  Z
            2    5     3     tmp  Ljava/security/KeyStoreSpi;
            7    8     3       e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     5       6  Class java.lang.Exception
           1     8       8  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      stream  

  private static java.lang.String lambda$0();
    descriptor: ()Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 67
            ldc "keystore.type.compat"
            invokestatic java.security.Security.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "KeyStoreDelegator.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.security.KeyStore$Entry of java.security.KeyStore
  public abstract ProtectionParameter = java.security.KeyStore$ProtectionParameter of java.security.KeyStore