public abstract class sun.security.provider.certpath.CertStoreHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.security.provider.certpath.CertStoreHelper
  super_class: java.lang.Object
{
  private static final int NUM_TYPES;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final java.util.Map<java.lang.String, java.lang.String> classMap;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private static sun.security.util.Cache cache;
    descriptor: Lsun/security/util/Cache;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 53
            new java.util.HashMap
            dup
            iconst_2
            invokespecial java.util.HashMap.<init>:(I)V
            putstatic sun.security.provider.certpath.CertStoreHelper.classMap:Ljava/util/Map;
         1: .line 55
            getstatic sun.security.provider.certpath.CertStoreHelper.classMap:Ljava/util/Map;
         2: .line 56
            ldc "LDAP"
         3: .line 57
            ldc "sun.security.provider.certpath.ldap.LDAPCertStoreHelper"
         4: .line 55
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 58
            getstatic sun.security.provider.certpath.CertStoreHelper.classMap:Ljava/util/Map;
         6: .line 59
            ldc "SSLServer"
         7: .line 60
            ldc "sun.security.provider.certpath.ssl.SSLServerCertStoreHelper"
         8: .line 58
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 62
            iconst_2
            invokestatic sun.security.util.Cache.newSoftMemoryCache:(I)Lsun/security/util/Cache;
            putstatic sun.security.provider.certpath.CertStoreHelper.cache:Lsun/security/util/Cache;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.provider.certpath.CertStoreHelper this
         0: .line 50
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.security.provider.certpath.CertStoreHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/provider/certpath/CertStoreHelper;

  public static sun.security.provider.certpath.CertStoreHelper getInstance(java.lang.String);
    descriptor: (Ljava/lang/String;)Lsun/security/provider/certpath/CertStoreHelper;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.lang.String type
         0: .line 67
            getstatic sun.security.provider.certpath.CertStoreHelper.cache:Lsun/security/util/Cache;
            aload 0 /* type */
            invokevirtual sun.security.util.Cache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.provider.certpath.CertStoreHelper
            astore 1 /* helper */
        start local 1 // sun.security.provider.certpath.CertStoreHelper helper
         1: .line 68
            aload 1 /* helper */
            ifnull 3
         2: .line 69
            aload 1 /* helper */
            areturn
         3: .line 71
      StackMap locals: sun.security.provider.certpath.CertStoreHelper
      StackMap stack:
            getstatic sun.security.provider.certpath.CertStoreHelper.classMap:Ljava/util/Map;
            aload 0 /* type */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* cl */
        start local 2 // java.lang.String cl
         4: .line 72
            aload 2 /* cl */
            ifnonnull 6
         5: .line 73
            new java.security.NoSuchAlgorithmException
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* type */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " not available"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 77
      StackMap locals: java.lang.String
      StackMap stack:
            new sun.security.provider.certpath.CertStoreHelper$1
            dup
            aload 2 /* cl */
            aload 0 /* type */
            invokespecial sun.security.provider.certpath.CertStoreHelper$1.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 76
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast sun.security.provider.certpath.CertStoreHelper
            astore 1 /* helper */
         8: .line 92
            aload 1 /* helper */
         9: areturn
        10: .line 93
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
            astore 3 /* e */
        start local 3 // java.security.PrivilegedActionException e
        11: .line 94
            new java.security.NoSuchAlgorithmException
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* type */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " not available"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 95
            aload 3 /* e */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
        13: .line 94
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.security.PrivilegedActionException e
        end local 2 // java.lang.String cl
        end local 1 // sun.security.provider.certpath.CertStoreHelper helper
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    type  Ljava/lang/String;
            1   14     1  helper  Lsun/security/provider/certpath/CertStoreHelper;
            4   14     2      cl  Ljava/lang/String;
           11   14     3       e  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           6     9      10  Class java.security.PrivilegedActionException
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    MethodParameters:
      Name  Flags
      type  final

  public abstract java.security.cert.CertStore getCertStore(java.net.URI);
    descriptor: (Ljava/net/URI;)Ljava/security/cert/CertStore;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.security.InvalidAlgorithmParameterException
    MethodParameters:
      Name  Flags
      uri   

  public abstract java.security.cert.X509CertSelector wrap(java.security.cert.X509CertSelector, javax.security.auth.x500.X500Principal, java.lang.String);
    descriptor: (Ljava/security/cert/X509CertSelector;Ljavax/security/auth/x500/X500Principal;Ljava/lang/String;)Ljava/security/cert/X509CertSelector;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      selector     
      certSubject  
      dn           

  public abstract java.security.cert.X509CRLSelector wrap(java.security.cert.X509CRLSelector, java.util.Collection<javax.security.auth.x500.X500Principal>, java.lang.String);
    descriptor: (Ljava/security/cert/X509CRLSelector;Ljava/util/Collection;Ljava/lang/String;)Ljava/security/cert/X509CRLSelector;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/security/cert/X509CRLSelector;Ljava/util/Collection<Ljavax/security/auth/x500/X500Principal;>;Ljava/lang/String;)Ljava/security/cert/X509CRLSelector;
    MethodParameters:
             Name  Flags
      selector     
      certIssuers  
      dn           
}
SourceFile: "CertStoreHelper.java"
NestMembers:
  sun.security.provider.certpath.CertStoreHelper$1
InnerClasses:
  sun.security.provider.certpath.CertStoreHelper$1