public class org.bouncycastle.x509.util.LDAPStoreHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.x509.util.LDAPStoreHelper
  super_class: java.lang.Object
{
  private org.bouncycastle.jce.X509LDAPCertStoreParameters params;
    descriptor: Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
    flags: (0x0002) ACC_PRIVATE

  private static java.lang.String LDAP_PROVIDER;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.String REFERRALS_IGNORE;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final java.lang.String SEARCH_SECURITY_LEVEL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "none"

  private static final java.lang.String URL_CONTEXT_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.jndi.url"

  private java.util.Map cacheMap;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE

  private static int cacheSize;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static long lifeTime;
    descriptor: J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 79
            ldc "com.sun.jndi.ldap.LdapCtxFactory"
            putstatic org.bouncycastle.x509.util.LDAPStoreHelper.LDAP_PROVIDER:Ljava/lang/String;
         1: .line 84
            ldc "ignore"
            putstatic org.bouncycastle.x509.util.LDAPStoreHelper.REFERRALS_IGNORE:Ljava/lang/String;
         2: .line 1031
            bipush 32
            putstatic org.bouncycastle.x509.util.LDAPStoreHelper.cacheSize:I
         3: .line 1033
            ldc 60000
            putstatic org.bouncycastle.x509.util.LDAPStoreHelper.lifeTime:J
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.bouncycastle.jce.X509LDAPCertStoreParameters);
    descriptor: (Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // org.bouncycastle.jce.X509LDAPCertStoreParameters params
         0: .line 71
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1029
            aload 0 /* this */
            new java.util.HashMap
            dup
            getstatic org.bouncycastle.x509.util.LDAPStoreHelper.cacheSize:I
            invokespecial java.util.HashMap.<init>:(I)V
            putfield org.bouncycastle.x509.util.LDAPStoreHelper.cacheMap:Ljava/util/Map;
         2: .line 73
            aload 0 /* this */
            aload 1 /* params */
            putfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
         3: .line 74
            return
        end local 1 // org.bouncycastle.jce.X509LDAPCertStoreParameters params
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0    4     1  params  Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
    MethodParameters:
        Name  Flags
      params  

  private javax.naming.directory.DirContext connectLDAP();
    descriptor: ()Ljavax/naming/directory/DirContext;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
         0: .line 98
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 1 /* props */
        start local 1 // java.util.Properties props
         1: .line 99
            aload 1 /* props */
            ldc "java.naming.factory.initial"
            getstatic org.bouncycastle.x509.util.LDAPStoreHelper.LDAP_PROVIDER:Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 100
            aload 1 /* props */
            ldc "java.naming.batchsize"
            ldc "0"
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 102
            aload 1 /* props */
            ldc "java.naming.provider.url"
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getLdapURL:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         4: .line 103
            aload 1 /* props */
            ldc "java.naming.factory.url.pkgs"
            ldc "com.sun.jndi.url"
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         5: .line 104
            aload 1 /* props */
            ldc "java.naming.referral"
            getstatic org.bouncycastle.x509.util.LDAPStoreHelper.REFERRALS_IGNORE:Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         6: .line 105
            aload 1 /* props */
            ldc "java.naming.security.authentication"
         7: .line 106
            ldc "none"
         8: .line 105
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         9: .line 108
            new javax.naming.directory.InitialDirContext
            dup
            aload 1 /* props */
            invokespecial javax.naming.directory.InitialDirContext.<init>:(Ljava/util/Hashtable;)V
            astore 2 /* ctx */
        start local 2 // javax.naming.directory.DirContext ctx
        10: .line 109
            aload 2 /* ctx */
            areturn
        end local 2 // javax.naming.directory.DirContext ctx
        end local 1 // java.util.Properties props
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            1   11     1  props  Ljava/util/Properties;
           10   11     2    ctx  Ljavax/naming/directory/DirContext;
    Exceptions:
      throws javax.naming.NamingException

  private java.lang.String parseDN(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // java.lang.String subject
        start local 2 // java.lang.String dNAttributeName
         0: .line 114
            aload 1 /* subject */
            astore 3 /* temp */
        start local 3 // java.lang.String temp
         1: .line 115
            aload 3 /* temp */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
         2: .line 116
            new java.lang.StringBuilder
            dup
            aload 2 /* dNAttributeName */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 115
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 4 /* begin */
        start local 4 // int begin
         4: .line 117
            iload 4 /* begin */
            iconst_m1
            if_icmpne 6
         5: .line 119
            ldc ""
            areturn
         6: .line 121
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 3 /* temp */
            iload 4 /* begin */
            aload 2 /* dNAttributeName */
            invokevirtual java.lang.String.length:()I
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* temp */
         7: .line 122
            aload 3 /* temp */
            bipush 44
            invokevirtual java.lang.String.indexOf:(I)I
            istore 5 /* end */
        start local 5 // int end
         8: .line 123
            iload 5 /* end */
            iconst_m1
            if_icmpne 14
         9: .line 125
            aload 3 /* temp */
            invokevirtual java.lang.String.length:()I
            istore 5 /* end */
        10: .line 127
            goto 14
        11: .line 129
      StackMap locals: int
      StackMap stack:
            aload 3 /* temp */
            bipush 44
            iload 5 /* end */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 5 /* end */
        12: .line 130
            iload 5 /* end */
            iconst_m1
            if_icmpne 14
        13: .line 132
            aload 3 /* temp */
            invokevirtual java.lang.String.length:()I
            istore 5 /* end */
        14: .line 127
      StackMap locals:
      StackMap stack:
            aload 3 /* temp */
            iload 5 /* end */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 92
            if_icmpeq 11
        15: .line 135
            aload 3 /* temp */
            iconst_0
            iload 5 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* temp */
        16: .line 136
            aload 3 /* temp */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            istore 4 /* begin */
        17: .line 137
            aload 3 /* temp */
            iload 4 /* begin */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* temp */
        18: .line 138
            aload 3 /* temp */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 32
            if_icmpne 20
        19: .line 140
            aload 3 /* temp */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* temp */
        20: .line 142
      StackMap locals:
      StackMap stack:
            aload 3 /* temp */
            ldc "\""
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 22
        21: .line 144
            aload 3 /* temp */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* temp */
        22: .line 146
      StackMap locals:
      StackMap stack:
            aload 3 /* temp */
            ldc "\""
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 24
        23: .line 148
            aload 3 /* temp */
            iconst_0
            aload 3 /* temp */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* temp */
        24: .line 150
      StackMap locals:
      StackMap stack:
            aload 3 /* temp */
            areturn
        end local 5 // int end
        end local 4 // int begin
        end local 3 // java.lang.String temp
        end local 2 // java.lang.String dNAttributeName
        end local 1 // java.lang.String subject
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   25     0             this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   25     1          subject  Ljava/lang/String;
            0   25     2  dNAttributeName  Ljava/lang/String;
            1   25     3             temp  Ljava/lang/String;
            4   25     4            begin  I
            8   25     5              end  I
    MethodParameters:
                 Name  Flags
      subject          
      dNAttributeName  

  private java.util.Set createCerts(java.util.List, org.bouncycastle.x509.X509CertStoreSelector);
    descriptor: (Ljava/util/List;Lorg/bouncycastle/x509/X509CertStoreSelector;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // java.util.List list
        start local 2 // org.bouncycastle.x509.X509CertStoreSelector xselector
         0: .line 156
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* certSet */
        start local 3 // java.util.Set certSet
         1: .line 158
            aload 1 /* list */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4 /* it */
        start local 4 // java.util.Iterator it
         2: .line 159
            new org.bouncycastle.jce.provider.X509CertParser
            dup
            invokespecial org.bouncycastle.jce.provider.X509CertParser.<init>:()V
            astore 5 /* parser */
        start local 5 // org.bouncycastle.jce.provider.X509CertParser parser
         3: .line 160
            goto 14
         4: .line 164
      StackMap locals: java.util.Set java.util.Iterator org.bouncycastle.jce.provider.X509CertParser
      StackMap stack:
            aload 5 /* parser */
            new java.io.ByteArrayInputStream
            dup
            aload 4 /* it */
         5: .line 165
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
         6: .line 164
            invokevirtual org.bouncycastle.jce.provider.X509CertParser.engineInit:(Ljava/io/InputStream;)V
         7: .line 166
            aload 5 /* parser */
         8: .line 167
            invokevirtual org.bouncycastle.jce.provider.X509CertParser.engineRead:()Ljava/lang/Object;
         9: .line 166
            checkcast java.security.cert.X509Certificate
            astore 6 /* cert */
        start local 6 // java.security.cert.X509Certificate cert
        10: .line 168
            aload 2 /* xselector */
            aload 6 /* cert */
            invokevirtual org.bouncycastle.x509.X509CertStoreSelector.match:(Ljava/lang/Object;)Z
            ifeq 14
        11: .line 170
            aload 3 /* certSet */
            aload 6 /* cert */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.security.cert.X509Certificate cert
        12: .line 173
            goto 14
        13: .line 174
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        14: .line 160
      StackMap locals:
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        15: .line 180
            aload 3 /* certSet */
            areturn
        end local 5 // org.bouncycastle.jce.provider.X509CertParser parser
        end local 4 // java.util.Iterator it
        end local 3 // java.util.Set certSet
        end local 2 // org.bouncycastle.x509.X509CertStoreSelector xselector
        end local 1 // java.util.List list
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   16     1       list  Ljava/util/List;
            0   16     2  xselector  Lorg/bouncycastle/x509/X509CertStoreSelector;
            1   16     3    certSet  Ljava/util/Set;
            2   16     4         it  Ljava/util/Iterator;
            3   16     5     parser  Lorg/bouncycastle/jce/provider/X509CertParser;
           10   12     6       cert  Ljava/security/cert/X509Certificate;
      Exception table:
        from    to  target  type
           4    12      13  Class java.lang.Exception
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
           Name  Flags
      list       
      xselector  

  private java.util.List certSubjectSerialSearch(org.bouncycastle.x509.X509CertStoreSelector, java.lang.String[], java.lang.String[], java.lang.String[]);
    descriptor: (Lorg/bouncycastle/x509/X509CertStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // org.bouncycastle.x509.X509CertStoreSelector xselector
        start local 2 // java.lang.String[] attrs
        start local 3 // java.lang.String[] attrNames
        start local 4 // java.lang.String[] subjectAttributeNames
         0: .line 203
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* list */
        start local 5 // java.util.List list
         1: .line 205
            aconst_null
            astore 6 /* subject */
        start local 6 // java.lang.String subject
         2: .line 206
            aconst_null
            astore 7 /* serial */
        start local 7 // java.lang.String serial
         3: .line 208
            aload 0 /* this */
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.getSubjectAsString:(Lorg/bouncycastle/x509/X509CertStoreSelector;)Ljava/lang/String;
            astore 6 /* subject */
         4: .line 210
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509CertStoreSelector.getSerialNumber:()Ljava/math/BigInteger;
            ifnull 6
         5: .line 212
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509CertStoreSelector.getSerialNumber:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
            astore 7 /* serial */
         6: .line 214
      StackMap locals: java.util.List java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509CertStoreSelector.getCertificate:()Ljava/security/cert/X509Certificate;
            ifnull 9
         7: .line 216
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509CertStoreSelector.getCertificate:()Ljava/security/cert/X509Certificate;
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            ldc "RFC1779"
            invokevirtual javax.security.auth.x500.X500Principal.getName:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* subject */
         8: .line 217
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509CertStoreSelector.getCertificate:()Ljava/security/cert/X509Certificate;
            invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
            astore 7 /* serial */
         9: .line 220
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* attrValue */
        start local 8 // java.lang.String attrValue
        10: .line 221
            aload 6 /* subject */
            ifnull 20
        11: .line 223
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        12: goto 19
        13: .line 225
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            aload 6 /* subject */
            aload 4 /* subjectAttributeNames */
            iload 9 /* i */
            aaload
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.parseDN:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* attrValue */
        14: .line 226
            aload 5 /* list */
        15: .line 227
            aload 0 /* this */
            aload 3 /* attrNames */
            new java.lang.StringBuilder
            dup
            ldc "*"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* attrValue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "*"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 228
            aload 2 /* attrs */
        17: .line 227
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.search:([Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        18: .line 223
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 9 /* i */
            aload 4 /* subjectAttributeNames */
            arraylength
            if_icmplt 13
        end local 9 // int i
        20: .line 231
      StackMap locals:
      StackMap stack:
            aload 7 /* serial */
            ifnull 26
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getSearchForSerialNumberIn:()Ljava/lang/String;
            ifnull 26
        21: .line 233
            aload 7 /* serial */
            astore 8 /* attrValue */
        22: .line 234
            aload 5 /* list */
            aload 0 /* this */
        23: .line 235
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getSearchForSerialNumberIn:()Ljava/lang/String;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
        24: .line 236
            aload 8 /* attrValue */
            aload 2 /* attrs */
        25: .line 234
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.search:([Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        26: .line 238
      StackMap locals:
      StackMap stack:
            aload 7 /* serial */
            ifnonnull 28
            aload 6 /* subject */
            ifnonnull 28
        27: .line 240
            aload 5 /* list */
            aload 0 /* this */
            aload 3 /* attrNames */
            ldc "*"
            aload 2 /* attrs */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.search:([Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        28: .line 243
      StackMap locals:
      StackMap stack:
            aload 5 /* list */
            areturn
        end local 8 // java.lang.String attrValue
        end local 7 // java.lang.String serial
        end local 6 // java.lang.String subject
        end local 5 // java.util.List list
        end local 4 // java.lang.String[] subjectAttributeNames
        end local 3 // java.lang.String[] attrNames
        end local 2 // java.lang.String[] attrs
        end local 1 // org.bouncycastle.x509.X509CertStoreSelector xselector
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   29     0                   this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   29     1              xselector  Lorg/bouncycastle/x509/X509CertStoreSelector;
            0   29     2                  attrs  [Ljava/lang/String;
            0   29     3              attrNames  [Ljava/lang/String;
            0   29     4  subjectAttributeNames  [Ljava/lang/String;
            1   29     5                   list  Ljava/util/List;
            2   29     6                subject  Ljava/lang/String;
            3   29     7                 serial  Ljava/lang/String;
           10   29     8              attrValue  Ljava/lang/String;
           12   20     9                      i  I
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
                       Name  Flags
      xselector              
      attrs                  
      attrNames              
      subjectAttributeNames  

  private java.util.List crossCertificatePairSubjectSearch(org.bouncycastle.x509.X509CertPairStoreSelector, java.lang.String[], java.lang.String[], java.lang.String[]);
    descriptor: (Lorg/bouncycastle/x509/X509CertPairStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // org.bouncycastle.x509.X509CertPairStoreSelector xselector
        start local 2 // java.lang.String[] attrs
        start local 3 // java.lang.String[] attrNames
        start local 4 // java.lang.String[] subjectAttributeNames
         0: .line 269
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* list */
        start local 5 // java.util.List list
         1: .line 272
            aconst_null
            astore 6 /* subject */
        start local 6 // java.lang.String subject
         2: .line 274
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509CertPairStoreSelector.getForwardSelector:()Lorg/bouncycastle/x509/X509CertStoreSelector;
            ifnull 4
         3: .line 276
            aload 0 /* this */
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509CertPairStoreSelector.getForwardSelector:()Lorg/bouncycastle/x509/X509CertStoreSelector;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.getSubjectAsString:(Lorg/bouncycastle/x509/X509CertStoreSelector;)Ljava/lang/String;
            astore 6 /* subject */
         4: .line 278
      StackMap locals: java.util.List java.lang.String
      StackMap stack:
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509CertPairStoreSelector.getCertPair:()Lorg/bouncycastle/x509/X509CertificatePair;
            ifnull 9
         5: .line 280
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509CertPairStoreSelector.getCertPair:()Lorg/bouncycastle/x509/X509CertificatePair;
            invokevirtual org.bouncycastle.x509.X509CertificatePair.getForward:()Ljava/security/cert/X509Certificate;
            ifnull 9
         6: .line 282
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509CertPairStoreSelector.getCertPair:()Lorg/bouncycastle/x509/X509CertificatePair;
            invokevirtual org.bouncycastle.x509.X509CertificatePair.getForward:()Ljava/security/cert/X509Certificate;
         7: .line 283
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            ldc "RFC1779"
            invokevirtual javax.security.auth.x500.X500Principal.getName:(Ljava/lang/String;)Ljava/lang/String;
         8: .line 282
            astore 6 /* subject */
         9: .line 286
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* attrValue */
        start local 7 // java.lang.String attrValue
        10: .line 287
            aload 6 /* subject */
            ifnull 20
        11: .line 289
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        12: goto 19
        13: .line 291
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            aload 6 /* subject */
            aload 4 /* subjectAttributeNames */
            iload 8 /* i */
            aaload
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.parseDN:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* attrValue */
        14: .line 292
            aload 5 /* list */
        15: .line 293
            aload 0 /* this */
            aload 3 /* attrNames */
            new java.lang.StringBuilder
            dup
            ldc "*"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* attrValue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "*"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 294
            aload 2 /* attrs */
        17: .line 293
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.search:([Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        18: .line 289
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 8 /* i */
            aload 4 /* subjectAttributeNames */
            arraylength
            if_icmplt 13
        end local 8 // int i
        20: .line 297
      StackMap locals:
      StackMap stack:
            aload 6 /* subject */
            ifnonnull 22
        21: .line 299
            aload 5 /* list */
            aload 0 /* this */
            aload 3 /* attrNames */
            ldc "*"
            aload 2 /* attrs */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.search:([Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        22: .line 302
      StackMap locals:
      StackMap stack:
            aload 5 /* list */
            areturn
        end local 7 // java.lang.String attrValue
        end local 6 // java.lang.String subject
        end local 5 // java.util.List list
        end local 4 // java.lang.String[] subjectAttributeNames
        end local 3 // java.lang.String[] attrNames
        end local 2 // java.lang.String[] attrs
        end local 1 // org.bouncycastle.x509.X509CertPairStoreSelector xselector
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   23     0                   this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   23     1              xselector  Lorg/bouncycastle/x509/X509CertPairStoreSelector;
            0   23     2                  attrs  [Ljava/lang/String;
            0   23     3              attrNames  [Ljava/lang/String;
            0   23     4  subjectAttributeNames  [Ljava/lang/String;
            1   23     5                   list  Ljava/util/List;
            2   23     6                subject  Ljava/lang/String;
           10   23     7              attrValue  Ljava/lang/String;
           12   20     8                      i  I
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
                       Name  Flags
      xselector              
      attrs                  
      attrNames              
      subjectAttributeNames  

  private java.util.List attrCertSubjectSerialSearch(org.bouncycastle.x509.X509AttributeCertStoreSelector, java.lang.String[], java.lang.String[], java.lang.String[]);
    descriptor: (Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=12, args_size=5
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // org.bouncycastle.x509.X509AttributeCertStoreSelector xselector
        start local 2 // java.lang.String[] attrs
        start local 3 // java.lang.String[] attrNames
        start local 4 // java.lang.String[] subjectAttributeNames
         0: .line 325
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* list */
        start local 5 // java.util.List list
         1: .line 331
            aconst_null
            astore 6 /* subject */
        start local 6 // java.lang.String subject
         2: .line 332
            aconst_null
            astore 7 /* serial */
        start local 7 // java.lang.String serial
         3: .line 334
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 8 /* serials */
        start local 8 // java.util.Collection serials
         4: .line 335
            aconst_null
            astore 9 /* principals */
        start local 9 // java.security.Principal[] principals
         5: .line 336
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509AttributeCertStoreSelector.getHolder:()Lorg/bouncycastle/x509/AttributeCertificateHolder;
            ifnull 12
         6: .line 339
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509AttributeCertStoreSelector.getHolder:()Lorg/bouncycastle/x509/AttributeCertificateHolder;
            invokevirtual org.bouncycastle.x509.AttributeCertificateHolder.getSerialNumber:()Ljava/math/BigInteger;
            ifnull 10
         7: .line 341
            aload 8 /* serials */
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509AttributeCertStoreSelector.getHolder:()Lorg/bouncycastle/x509/AttributeCertificateHolder;
            invokevirtual org.bouncycastle.x509.AttributeCertificateHolder.getSerialNumber:()Ljava/math/BigInteger;
         8: .line 342
            invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
         9: .line 341
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        10: .line 345
      StackMap locals: org.bouncycastle.x509.util.LDAPStoreHelper org.bouncycastle.x509.X509AttributeCertStoreSelector java.lang.String[] java.lang.String[] java.lang.String[] java.util.List java.lang.String java.lang.String java.util.Collection java.security.Principal[]
      StackMap stack:
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509AttributeCertStoreSelector.getHolder:()Lorg/bouncycastle/x509/AttributeCertificateHolder;
            invokevirtual org.bouncycastle.x509.AttributeCertificateHolder.getEntityNames:()[Ljava/security/Principal;
            ifnull 12
        11: .line 347
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509AttributeCertStoreSelector.getHolder:()Lorg/bouncycastle/x509/AttributeCertificateHolder;
            invokevirtual org.bouncycastle.x509.AttributeCertificateHolder.getEntityNames:()[Ljava/security/Principal;
            astore 9 /* principals */
        12: .line 351
      StackMap locals:
      StackMap stack:
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509AttributeCertStoreSelector.getAttributeCert:()Lorg/bouncycastle/x509/X509AttributeCertificate;
            ifnull 20
        13: .line 353
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509AttributeCertStoreSelector.getAttributeCert:()Lorg/bouncycastle/x509/X509AttributeCertificate;
            invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getHolder:()Lorg/bouncycastle/x509/AttributeCertificateHolder;
            invokevirtual org.bouncycastle.x509.AttributeCertificateHolder.getEntityNames:()[Ljava/security/Principal;
            ifnull 17
        14: .line 355
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509AttributeCertStoreSelector.getAttributeCert:()Lorg/bouncycastle/x509/X509AttributeCertificate;
            invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getHolder:()Lorg/bouncycastle/x509/AttributeCertificateHolder;
        15: .line 356
            invokevirtual org.bouncycastle.x509.AttributeCertificateHolder.getEntityNames:()[Ljava/security/Principal;
        16: .line 355
            astore 9 /* principals */
        17: .line 359
      StackMap locals:
      StackMap stack:
            aload 8 /* serials */
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509AttributeCertStoreSelector.getAttributeCert:()Lorg/bouncycastle/x509/X509AttributeCertificate;
            invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getSerialNumber:()Ljava/math/BigInteger;
        18: .line 360
            invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
        19: .line 359
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        20: .line 362
      StackMap locals:
      StackMap stack:
            aload 9 /* principals */
            ifnull 27
        21: .line 365
            aload 9 /* principals */
            iconst_0
            aaload
            instanceof javax.security.auth.x500.X500Principal
            ifeq 26
        22: .line 367
            aload 9 /* principals */
            iconst_0
            aaload
            checkcast javax.security.auth.x500.X500Principal
        23: .line 368
            ldc "RFC1779"
            invokevirtual javax.security.auth.x500.X500Principal.getName:(Ljava/lang/String;)Ljava/lang/String;
        24: .line 367
            astore 6 /* subject */
        25: .line 369
            goto 27
        26: .line 373
      StackMap locals:
      StackMap stack:
            aload 9 /* principals */
            iconst_0
            aaload
            invokeinterface java.security.Principal.getName:()Ljava/lang/String;
            astore 6 /* subject */
        27: .line 376
      StackMap locals:
      StackMap stack:
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509AttributeCertStoreSelector.getSerialNumber:()Ljava/math/BigInteger;
            ifnull 29
        28: .line 378
            aload 8 /* serials */
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509AttributeCertStoreSelector.getSerialNumber:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        29: .line 381
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 10 /* attrValue */
        start local 10 // java.lang.String attrValue
        30: .line 382
            aload 6 /* subject */
            ifnull 40
        31: .line 384
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        32: goto 39
        33: .line 386
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            aload 6 /* subject */
            aload 4 /* subjectAttributeNames */
            iload 11 /* i */
            aaload
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.parseDN:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* attrValue */
        34: .line 387
            aload 5 /* list */
        35: .line 388
            aload 0 /* this */
            aload 3 /* attrNames */
            new java.lang.StringBuilder
            dup
            ldc "*"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* attrValue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "*"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 389
            aload 2 /* attrs */
        37: .line 388
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.search:([Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        38: .line 384
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 11 /* i */
            aload 4 /* subjectAttributeNames */
            arraylength
            if_icmplt 33
        end local 11 // int i
        40: .line 392
      StackMap locals:
      StackMap stack:
            aload 8 /* serials */
            invokeinterface java.util.Collection.size:()I
            ifle 47
        41: .line 393
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getSearchForSerialNumberIn:()Ljava/lang/String;
            ifnull 47
        42: .line 395
            aload 8 /* serials */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 11 /* it */
        start local 11 // java.util.Iterator it
        43: .line 396
            goto 46
        44: .line 398
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 11 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* serial */
        45: .line 399
            aload 5 /* list */
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getSearchForSerialNumberIn:()Ljava/lang/String;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            aload 7 /* serial */
            aload 2 /* attrs */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.search:([Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        46: .line 396
      StackMap locals:
      StackMap stack:
            aload 11 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 44
        end local 11 // java.util.Iterator it
        47: .line 402
      StackMap locals:
      StackMap stack:
            aload 8 /* serials */
            invokeinterface java.util.Collection.size:()I
            ifne 49
            aload 6 /* subject */
            ifnonnull 49
        48: .line 404
            aload 5 /* list */
            aload 0 /* this */
            aload 3 /* attrNames */
            ldc "*"
            aload 2 /* attrs */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.search:([Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        49: .line 407
      StackMap locals:
      StackMap stack:
            aload 5 /* list */
            areturn
        end local 10 // java.lang.String attrValue
        end local 9 // java.security.Principal[] principals
        end local 8 // java.util.Collection serials
        end local 7 // java.lang.String serial
        end local 6 // java.lang.String subject
        end local 5 // java.util.List list
        end local 4 // java.lang.String[] subjectAttributeNames
        end local 3 // java.lang.String[] attrNames
        end local 2 // java.lang.String[] attrs
        end local 1 // org.bouncycastle.x509.X509AttributeCertStoreSelector xselector
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   50     0                   this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   50     1              xselector  Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;
            0   50     2                  attrs  [Ljava/lang/String;
            0   50     3              attrNames  [Ljava/lang/String;
            0   50     4  subjectAttributeNames  [Ljava/lang/String;
            1   50     5                   list  Ljava/util/List;
            2   50     6                subject  Ljava/lang/String;
            3   50     7                 serial  Ljava/lang/String;
            4   50     8                serials  Ljava/util/Collection;
            5   50     9             principals  [Ljava/security/Principal;
           30   50    10              attrValue  Ljava/lang/String;
           32   40    11                      i  I
           43   47    11                     it  Ljava/util/Iterator;
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
                       Name  Flags
      xselector              
      attrs                  
      attrNames              
      subjectAttributeNames  

  private java.util.List cRLIssuerSearch(org.bouncycastle.x509.X509CRLStoreSelector, java.lang.String[], java.lang.String[], java.lang.String[]);
    descriptor: (Lorg/bouncycastle/x509/X509CRLStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=5
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // org.bouncycastle.x509.X509CRLStoreSelector xselector
        start local 2 // java.lang.String[] attrs
        start local 3 // java.lang.String[] attrNames
        start local 4 // java.lang.String[] issuerAttributeNames
         0: .line 427
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* list */
        start local 5 // java.util.List list
         1: .line 429
            aconst_null
            astore 6 /* issuer */
        start local 6 // java.lang.String issuer
         2: .line 430
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 7 /* issuers */
        start local 7 // java.util.Collection issuers
         3: .line 431
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.getIssuers:()Ljava/util/Collection;
            ifnull 5
         4: .line 433
            aload 7 /* issuers */
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.getIssuers:()Ljava/util/Collection;
            invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
            pop
         5: .line 435
      StackMap locals: java.util.List java.lang.String java.util.Collection
      StackMap stack:
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.getCertificateChecking:()Ljava/security/cert/X509Certificate;
            ifnull 7
         6: .line 437
            aload 7 /* issuers */
            aload 0 /* this */
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.getCertificateChecking:()Ljava/security/cert/X509Certificate;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.getCertificateIssuer:(Ljava/security/cert/X509Certificate;)Ljavax/security/auth/x500/X500Principal;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         7: .line 439
      StackMap locals:
      StackMap stack:
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.getAttrCertificateChecking:()Lorg/bouncycastle/x509/X509AttributeCertificate;
            ifnull 15
         8: .line 441
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.getAttrCertificateChecking:()Lorg/bouncycastle/x509/X509AttributeCertificate;
            invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getIssuer:()Lorg/bouncycastle/x509/AttributeCertificateIssuer;
            invokevirtual org.bouncycastle.x509.AttributeCertificateIssuer.getPrincipals:()[Ljava/security/Principal;
            astore 8 /* principals */
        start local 8 // java.security.Principal[] principals
         9: .line 442
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        10: goto 14
        11: .line 444
      StackMap locals: java.security.Principal[] int
      StackMap stack:
            aload 8 /* principals */
            iload 9 /* i */
            aaload
            instanceof javax.security.auth.x500.X500Principal
            ifeq 13
        12: .line 446
            aload 7 /* issuers */
            aload 8 /* principals */
            iload 9 /* i */
            aaload
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        13: .line 442
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 9 /* i */
            aload 8 /* principals */
            arraylength
            if_icmplt 11
        end local 9 // int i
        end local 8 // java.security.Principal[] principals
        15: .line 450
      StackMap locals:
      StackMap stack:
            aload 7 /* issuers */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8 /* it */
        start local 8 // java.util.Iterator it
        16: .line 451
            goto 28
        17: .line 453
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 8 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.security.auth.x500.X500Principal
            ldc "RFC1779"
            invokevirtual javax.security.auth.x500.X500Principal.getName:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* issuer */
        18: .line 454
            aconst_null
            astore 9 /* attrValue */
        start local 9 // java.lang.String attrValue
        19: .line 456
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        20: goto 27
        21: .line 458
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            aload 6 /* issuer */
            aload 4 /* issuerAttributeNames */
            iload 10 /* i */
            aaload
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.parseDN:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* attrValue */
        22: .line 459
            aload 5 /* list */
        23: .line 460
            aload 0 /* this */
            aload 3 /* attrNames */
            new java.lang.StringBuilder
            dup
            ldc "*"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* attrValue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "*"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        24: .line 461
            aload 2 /* attrs */
        25: .line 460
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.search:([Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        26: .line 456
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 10 /* i */
            aload 4 /* issuerAttributeNames */
            arraylength
            if_icmplt 21
        end local 10 // int i
        end local 9 // java.lang.String attrValue
        28: .line 451
      StackMap locals:
      StackMap stack:
            aload 8 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        29: .line 464
            aload 6 /* issuer */
            ifnonnull 31
        30: .line 466
            aload 5 /* list */
            aload 0 /* this */
            aload 3 /* attrNames */
            ldc "*"
            aload 2 /* attrs */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.search:([Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        31: .line 469
      StackMap locals:
      StackMap stack:
            aload 5 /* list */
            areturn
        end local 8 // java.util.Iterator it
        end local 7 // java.util.Collection issuers
        end local 6 // java.lang.String issuer
        end local 5 // java.util.List list
        end local 4 // java.lang.String[] issuerAttributeNames
        end local 3 // java.lang.String[] attrNames
        end local 2 // java.lang.String[] attrs
        end local 1 // org.bouncycastle.x509.X509CRLStoreSelector xselector
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   32     0                  this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   32     1             xselector  Lorg/bouncycastle/x509/X509CRLStoreSelector;
            0   32     2                 attrs  [Ljava/lang/String;
            0   32     3             attrNames  [Ljava/lang/String;
            0   32     4  issuerAttributeNames  [Ljava/lang/String;
            1   32     5                  list  Ljava/util/List;
            2   32     6                issuer  Ljava/lang/String;
            3   32     7               issuers  Ljava/util/Collection;
            9   15     8            principals  [Ljava/security/Principal;
           10   15     9                     i  I
           16   32     8                    it  Ljava/util/Iterator;
           19   28     9             attrValue  Ljava/lang/String;
           20   28    10                     i  I
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
                      Name  Flags
      xselector             
      attrs                 
      attrNames             
      issuerAttributeNames  

  private java.util.List search(java.lang.String[], java.lang.String, java.lang.String[]);
    descriptor: ([Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=14, args_size=4
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // java.lang.String[] attributeNames
        start local 2 // java.lang.String attributeValue
        start local 3 // java.lang.String[] attrs
         0: .line 488
            aconst_null
            astore 4 /* filter */
        start local 4 // java.lang.String filter
         1: .line 489
            aload 1 /* attributeNames */
            ifnonnull 4
         2: .line 491
            aconst_null
            astore 4 /* filter */
         3: .line 492
            goto 13
         4: .line 495
      StackMap locals: java.lang.String
      StackMap stack:
            ldc ""
            astore 4 /* filter */
         5: .line 496
            aload 2 /* attributeValue */
            ldc "**"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 498
            ldc "*"
            astore 2 /* attributeValue */
         7: .line 500
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         8: goto 11
         9: .line 502
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 4 /* filter */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* attributeNames */
            iload 5 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* attributeValue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* filter */
        10: .line 500
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            aload 1 /* attributeNames */
            arraylength
            if_icmplt 9
        end local 5 // int i
        12: .line 504
            new java.lang.StringBuilder
            dup
            ldc "(|"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* filter */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* filter */
        13: .line 506
      StackMap locals:
      StackMap stack:
            ldc ""
            astore 5 /* filter2 */
        start local 5 // java.lang.String filter2
        14: .line 507
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        15: goto 18
        16: .line 509
      StackMap locals: java.lang.String int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 5 /* filter2 */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* attrs */
            iload 6 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "=*)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* filter2 */
        17: .line 507
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            aload 3 /* attrs */
            arraylength
            if_icmplt 16
        end local 6 // int i
        19: .line 511
            new java.lang.StringBuilder
            dup
            ldc "(|"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* filter2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* filter2 */
        20: .line 513
            new java.lang.StringBuilder
            dup
            ldc "(&"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* filter */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* filter2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* filter3 */
        start local 6 // java.lang.String filter3
        21: .line 514
            aload 4 /* filter */
            ifnonnull 23
        22: .line 516
            aload 5 /* filter2 */
            astore 6 /* filter3 */
        23: .line 519
      StackMap locals: org.bouncycastle.x509.util.LDAPStoreHelper java.lang.String[] java.lang.String java.lang.String[] java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 6 /* filter3 */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.getFromCache:(Ljava/lang/String;)Ljava/util/List;
            astore 7 /* list */
        start local 7 // java.util.List list
        24: .line 520
            aload 7 /* list */
            ifnull 26
        25: .line 522
            aload 7 /* list */
            areturn
        26: .line 524
      StackMap locals: java.util.List
      StackMap stack:
            aconst_null
            astore 8 /* ctx */
        start local 8 // javax.naming.directory.DirContext ctx
        27: .line 525
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* list */
        28: .line 529
            aload 0 /* this */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.connectLDAP:()Ljavax/naming/directory/DirContext;
            astore 8 /* ctx */
        29: .line 531
            new javax.naming.directory.SearchControls
            dup
            invokespecial javax.naming.directory.SearchControls.<init>:()V
            astore 9 /* constraints */
        start local 9 // javax.naming.directory.SearchControls constraints
        30: .line 532
            aload 9 /* constraints */
            iconst_2
            invokevirtual javax.naming.directory.SearchControls.setSearchScope:(I)V
        31: .line 533
            aload 9 /* constraints */
            lconst_0
            invokevirtual javax.naming.directory.SearchControls.setCountLimit:(J)V
        32: .line 534
            aload 9 /* constraints */
            aload 3 /* attrs */
            invokevirtual javax.naming.directory.SearchControls.setReturningAttributes:([Ljava/lang/String;)V
        33: .line 535
            aload 8 /* ctx */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getBaseDN:()Ljava/lang/String;
            aload 6 /* filter3 */
        34: .line 536
            aload 9 /* constraints */
        35: .line 535
            invokeinterface javax.naming.directory.DirContext.search:(Ljava/lang/String;Ljava/lang/String;Ljavax/naming/directory/SearchControls;)Ljavax/naming/NamingEnumeration;
            astore 10 /* results */
        start local 10 // javax.naming.NamingEnumeration results
        36: .line 537
            goto 44
        37: .line 539
      StackMap locals: javax.naming.directory.DirContext javax.naming.directory.SearchControls javax.naming.NamingEnumeration
      StackMap stack:
            aload 10 /* results */
            invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
            checkcast javax.naming.directory.SearchResult
            astore 11 /* sr */
        start local 11 // javax.naming.directory.SearchResult sr
        38: .line 540
            aload 11 /* sr */
        39: .line 541
            invokevirtual javax.naming.directory.SearchResult.getAttributes:()Ljavax/naming/directory/Attributes;
            invokeinterface javax.naming.directory.Attributes.getAll:()Ljavax/naming/NamingEnumeration;
            invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
            checkcast javax.naming.directory.Attribute
            invokeinterface javax.naming.directory.Attribute.getAll:()Ljavax/naming/NamingEnumeration;
        40: .line 540
            astore 12 /* enumeration */
        start local 12 // javax.naming.NamingEnumeration enumeration
        41: .line 542
            goto 43
        42: .line 544
      StackMap locals: javax.naming.directory.SearchResult javax.naming.NamingEnumeration
      StackMap stack:
            aload 7 /* list */
            aload 12 /* enumeration */
            invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        43: .line 542
      StackMap locals:
      StackMap stack:
            aload 12 /* enumeration */
            invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
            ifne 42
        end local 12 // javax.naming.NamingEnumeration enumeration
        end local 11 // javax.naming.directory.SearchResult sr
        44: .line 537
      StackMap locals:
      StackMap stack:
            aload 10 /* results */
            invokeinterface javax.naming.NamingEnumeration.hasMoreElements:()Z
            ifne 37
        45: .line 547
            aload 0 /* this */
            aload 6 /* filter3 */
            aload 7 /* list */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.addToCache:(Ljava/lang/String;Ljava/util/List;)V
        end local 10 // javax.naming.NamingEnumeration results
        end local 9 // javax.naming.directory.SearchControls constraints
        46: .line 548
            goto 58
        47: .line 549
      StackMap locals: org.bouncycastle.x509.util.LDAPStoreHelper java.lang.String[] java.lang.String java.lang.String[] java.lang.String java.lang.String java.lang.String java.util.List javax.naming.directory.DirContext
      StackMap stack: javax.naming.NamingException
            pop
        48: .line 559
            aload 8 /* ctx */
            ifnull 62
        49: .line 561
            aload 8 /* ctx */
            invokeinterface javax.naming.directory.DirContext.close:()V
        50: .line 563
            goto 62
        51: .line 564
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
            goto 62
        52: .line 556
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 13
        53: .line 559
            aload 8 /* ctx */
            ifnull 57
        54: .line 561
            aload 8 /* ctx */
            invokeinterface javax.naming.directory.DirContext.close:()V
        55: .line 563
            goto 57
        56: .line 564
      StackMap locals: org.bouncycastle.x509.util.LDAPStoreHelper java.lang.String[] java.lang.String java.lang.String[] java.lang.String java.lang.String java.lang.String java.util.List javax.naming.directory.DirContext top top top top java.lang.Throwable
      StackMap stack: java.lang.Exception
            pop
        57: .line 567
      StackMap locals:
      StackMap stack:
            aload 13
            athrow
        58: .line 559
      StackMap locals: org.bouncycastle.x509.util.LDAPStoreHelper java.lang.String[] java.lang.String java.lang.String[] java.lang.String java.lang.String java.lang.String java.util.List javax.naming.directory.DirContext
      StackMap stack:
            aload 8 /* ctx */
            ifnull 62
        59: .line 561
            aload 8 /* ctx */
            invokeinterface javax.naming.directory.DirContext.close:()V
        60: .line 563
            goto 62
        61: .line 564
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        62: .line 568
      StackMap locals:
      StackMap stack:
            aload 7 /* list */
            areturn
        end local 8 // javax.naming.directory.DirContext ctx
        end local 7 // java.util.List list
        end local 6 // java.lang.String filter3
        end local 5 // java.lang.String filter2
        end local 4 // java.lang.String filter
        end local 3 // java.lang.String[] attrs
        end local 2 // java.lang.String attributeValue
        end local 1 // java.lang.String[] attributeNames
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   63     0            this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   63     1  attributeNames  [Ljava/lang/String;
            0   63     2  attributeValue  Ljava/lang/String;
            0   63     3           attrs  [Ljava/lang/String;
            1   63     4          filter  Ljava/lang/String;
            8   12     5               i  I
           14   63     5         filter2  Ljava/lang/String;
           15   19     6               i  I
           21   63     6         filter3  Ljava/lang/String;
           24   63     7            list  Ljava/util/List;
           27   63     8             ctx  Ljavax/naming/directory/DirContext;
           30   46     9     constraints  Ljavax/naming/directory/SearchControls;
           36   46    10         results  Ljavax/naming/NamingEnumeration;
           38   44    11              sr  Ljavax/naming/directory/SearchResult;
           41   44    12     enumeration  Ljavax/naming/NamingEnumeration;
      Exception table:
        from    to  target  type
          28    46      47  Class javax.naming.NamingException
          48    50      51  Class java.lang.Exception
          28    48      52  any
          53    55      56  Class java.lang.Exception
          58    60      61  Class java.lang.Exception
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
                Name  Flags
      attributeNames  
      attributeValue  
      attrs           

  private java.util.Set createCRLs(java.util.List, org.bouncycastle.x509.X509CRLStoreSelector);
    descriptor: (Ljava/util/List;Lorg/bouncycastle/x509/X509CRLStoreSelector;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // java.util.List list
        start local 2 // org.bouncycastle.x509.X509CRLStoreSelector xselector
         0: .line 574
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* crlSet */
        start local 3 // java.util.Set crlSet
         1: .line 576
            new org.bouncycastle.jce.provider.X509CRLParser
            dup
            invokespecial org.bouncycastle.jce.provider.X509CRLParser.<init>:()V
            astore 4 /* parser */
        start local 4 // org.bouncycastle.jce.provider.X509CRLParser parser
         2: .line 577
            aload 1 /* list */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5 /* it */
        start local 5 // java.util.Iterator it
         3: .line 578
            goto 12
         4: .line 582
      StackMap locals: java.util.Set org.bouncycastle.jce.provider.X509CRLParser java.util.Iterator
      StackMap stack:
            aload 4 /* parser */
            new java.io.ByteArrayInputStream
            dup
            aload 5 /* it */
         5: .line 583
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
         6: .line 582
            invokevirtual org.bouncycastle.jce.provider.X509CRLParser.engineInit:(Ljava/io/InputStream;)V
         7: .line 584
            aload 4 /* parser */
            invokevirtual org.bouncycastle.jce.provider.X509CRLParser.engineRead:()Ljava/lang/Object;
            checkcast java.security.cert.X509CRL
            astore 6 /* crl */
        start local 6 // java.security.cert.X509CRL crl
         8: .line 585
            aload 2 /* xselector */
            aload 6 /* crl */
            invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.match:(Ljava/lang/Object;)Z
            ifeq 12
         9: .line 587
            aload 3 /* crlSet */
            aload 6 /* crl */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.security.cert.X509CRL crl
        10: .line 589
            goto 12
        11: .line 590
      StackMap locals:
      StackMap stack: org.bouncycastle.x509.util.StreamParsingException
            pop
        12: .line 578
      StackMap locals:
      StackMap stack:
            aload 5 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        13: .line 596
            aload 3 /* crlSet */
            areturn
        end local 5 // java.util.Iterator it
        end local 4 // org.bouncycastle.jce.provider.X509CRLParser parser
        end local 3 // java.util.Set crlSet
        end local 2 // org.bouncycastle.x509.X509CRLStoreSelector xselector
        end local 1 // java.util.List list
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   14     1       list  Ljava/util/List;
            0   14     2  xselector  Lorg/bouncycastle/x509/X509CRLStoreSelector;
            1   14     3     crlSet  Ljava/util/Set;
            2   14     4     parser  Lorg/bouncycastle/jce/provider/X509CRLParser;
            3   14     5         it  Ljava/util/Iterator;
            8   10     6        crl  Ljava/security/cert/X509CRL;
      Exception table:
        from    to  target  type
           4    10      11  Class org.bouncycastle.x509.util.StreamParsingException
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
           Name  Flags
      list       
      xselector  

  private java.util.Set createCrossCertificatePairs(java.util.List, org.bouncycastle.x509.X509CertPairStoreSelector);
    descriptor: (Ljava/util/List;Lorg/bouncycastle/x509/X509CertPairStoreSelector;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=8, args_size=3
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // java.util.List list
        start local 2 // org.bouncycastle.x509.X509CertPairStoreSelector xselector
         0: .line 602
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* certPairSet */
        start local 3 // java.util.Set certPairSet
         1: .line 604
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: .line 605
            goto 31
         3: .line 613
      StackMap locals: java.util.Set int
      StackMap stack:
            new org.bouncycastle.jce.provider.X509CertPairParser
            dup
            invokespecial org.bouncycastle.jce.provider.X509CertPairParser.<init>:()V
            astore 6 /* parser */
        start local 6 // org.bouncycastle.jce.provider.X509CertPairParser parser
         4: .line 614
            aload 6 /* parser */
            new java.io.ByteArrayInputStream
            dup
         5: .line 615
            aload 1 /* list */
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast byte[]
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
         6: .line 614
            invokevirtual org.bouncycastle.jce.provider.X509CertPairParser.engineInit:(Ljava/io/InputStream;)V
         7: .line 616
            aload 6 /* parser */
            invokevirtual org.bouncycastle.jce.provider.X509CertPairParser.engineRead:()Ljava/lang/Object;
            checkcast org.bouncycastle.x509.X509CertificatePair
            astore 5 /* pair */
        end local 6 // org.bouncycastle.jce.provider.X509CertPairParser parser
        start local 5 // org.bouncycastle.x509.X509CertificatePair pair
         8: .line 617
            goto 25
        end local 5 // org.bouncycastle.x509.X509CertificatePair pair
         9: .line 618
      StackMap locals:
      StackMap stack: org.bouncycastle.x509.util.StreamParsingException
            pop
        10: .line 622
            aload 1 /* list */
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast byte[]
            astore 6 /* forward */
        start local 6 // byte[] forward
        11: .line 623
            aload 1 /* list */
            iload 4 /* i */
            iconst_1
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast byte[]
            astore 7 /* reverse */
        start local 7 // byte[] reverse
        12: .line 624
            new org.bouncycastle.x509.X509CertificatePair
            dup
            new org.bouncycastle.asn1.x509.CertificatePair
            dup
        13: .line 626
            new org.bouncycastle.asn1.ASN1InputStream
            dup
        14: .line 627
            aload 6 /* forward */
        15: .line 626
            invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:([B)V
        16: .line 627
            invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
        17: .line 626
            invokestatic org.bouncycastle.asn1.x509.X509CertificateStructure.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
        18: .line 629
            new org.bouncycastle.asn1.ASN1InputStream
            dup
        19: .line 630
            aload 7 /* reverse */
        20: .line 629
            invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:([B)V
        21: .line 630
            invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
        22: .line 629
            invokestatic org.bouncycastle.asn1.x509.X509CertificateStructure.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
            invokespecial org.bouncycastle.asn1.x509.CertificatePair.<init>:(Lorg/bouncycastle/asn1/x509/X509CertificateStructure;Lorg/bouncycastle/asn1/x509/X509CertificateStructure;)V
        23: .line 624
            invokespecial org.bouncycastle.x509.X509CertificatePair.<init>:(Lorg/bouncycastle/asn1/x509/CertificatePair;)V
            astore 5 /* pair */
        start local 5 // org.bouncycastle.x509.X509CertificatePair pair
        24: .line 631
            iinc 4 /* i */ 1
        end local 7 // byte[] reverse
        end local 6 // byte[] forward
        25: .line 633
      StackMap locals: org.bouncycastle.x509.X509CertificatePair
      StackMap stack:
            aload 2 /* xselector */
            aload 5 /* pair */
            invokevirtual org.bouncycastle.x509.X509CertPairStoreSelector.match:(Ljava/lang/Object;)Z
            ifeq 30
        26: .line 635
            aload 3 /* certPairSet */
            aload 5 /* pair */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        27: .line 637
            goto 30
        end local 5 // org.bouncycastle.x509.X509CertificatePair pair
        28: .line 638
      StackMap locals: org.bouncycastle.x509.util.LDAPStoreHelper java.util.List org.bouncycastle.x509.X509CertPairStoreSelector java.util.Set int
      StackMap stack: java.security.cert.CertificateParsingException
            pop
            goto 30
        29: .line 642
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        30: .line 646
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
        31: .line 605
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            aload 1 /* list */
            invokeinterface java.util.List.size:()I
            if_icmplt 3
        32: .line 649
            aload 3 /* certPairSet */
            areturn
        end local 4 // int i
        end local 3 // java.util.Set certPairSet
        end local 2 // org.bouncycastle.x509.X509CertPairStoreSelector xselector
        end local 1 // java.util.List list
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   33     0         this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   33     1         list  Ljava/util/List;
            0   33     2    xselector  Lorg/bouncycastle/x509/X509CertPairStoreSelector;
            1   33     3  certPairSet  Ljava/util/Set;
            2   33     4            i  I
            8    9     5         pair  Lorg/bouncycastle/x509/X509CertificatePair;
           24   28     5         pair  Lorg/bouncycastle/x509/X509CertificatePair;
            4    8     6       parser  Lorg/bouncycastle/jce/provider/X509CertPairParser;
           11   25     6      forward  [B
           12   25     7      reverse  [B
      Exception table:
        from    to  target  type
           3     8       9  Class org.bouncycastle.x509.util.StreamParsingException
           3    27      28  Class java.security.cert.CertificateParsingException
           3    27      29  Class java.io.IOException
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
           Name  Flags
      list       
      xselector  

  private java.util.Set createAttributeCertificates(java.util.List, org.bouncycastle.x509.X509AttributeCertStoreSelector);
    descriptor: (Ljava/util/List;Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // java.util.List list
        start local 2 // org.bouncycastle.x509.X509AttributeCertStoreSelector xselector
         0: .line 655
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* certSet */
        start local 3 // java.util.Set certSet
         1: .line 657
            aload 1 /* list */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4 /* it */
        start local 4 // java.util.Iterator it
         2: .line 658
            new org.bouncycastle.jce.provider.X509AttrCertParser
            dup
            invokespecial org.bouncycastle.jce.provider.X509AttrCertParser.<init>:()V
            astore 5 /* parser */
        start local 5 // org.bouncycastle.jce.provider.X509AttrCertParser parser
         3: .line 659
            goto 14
         4: .line 663
      StackMap locals: java.util.Set java.util.Iterator org.bouncycastle.jce.provider.X509AttrCertParser
      StackMap stack:
            aload 5 /* parser */
            new java.io.ByteArrayInputStream
            dup
            aload 4 /* it */
         5: .line 664
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
         6: .line 663
            invokevirtual org.bouncycastle.jce.provider.X509AttrCertParser.engineInit:(Ljava/io/InputStream;)V
         7: .line 665
            aload 5 /* parser */
         8: .line 666
            invokevirtual org.bouncycastle.jce.provider.X509AttrCertParser.engineRead:()Ljava/lang/Object;
         9: .line 665
            checkcast org.bouncycastle.x509.X509AttributeCertificate
            astore 6 /* cert */
        start local 6 // org.bouncycastle.x509.X509AttributeCertificate cert
        10: .line 667
            aload 2 /* xselector */
            aload 6 /* cert */
            invokevirtual org.bouncycastle.x509.X509AttributeCertStoreSelector.match:(Ljava/lang/Object;)Z
            ifeq 14
        11: .line 669
            aload 3 /* certSet */
            aload 6 /* cert */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.bouncycastle.x509.X509AttributeCertificate cert
        12: .line 671
            goto 14
        13: .line 672
      StackMap locals:
      StackMap stack: org.bouncycastle.x509.util.StreamParsingException
            pop
        14: .line 659
      StackMap locals:
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        15: .line 678
            aload 3 /* certSet */
            areturn
        end local 5 // org.bouncycastle.jce.provider.X509AttrCertParser parser
        end local 4 // java.util.Iterator it
        end local 3 // java.util.Set certSet
        end local 2 // org.bouncycastle.x509.X509AttributeCertStoreSelector xselector
        end local 1 // java.util.List list
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   16     1       list  Ljava/util/List;
            0   16     2  xselector  Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;
            1   16     3    certSet  Ljava/util/Set;
            2   16     4         it  Ljava/util/Iterator;
            3   16     5     parser  Lorg/bouncycastle/jce/provider/X509AttrCertParser;
           10   12     6       cert  Lorg/bouncycastle/x509/X509AttributeCertificate;
      Exception table:
        from    to  target  type
           4    12      13  Class org.bouncycastle.x509.util.StreamParsingException
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
           Name  Flags
      list       
      xselector  

  public java.util.Collection getAuthorityRevocationLists(org.bouncycastle.x509.X509CRLStoreSelector);
    descriptor: (Lorg/bouncycastle/x509/X509CRLStoreSelector;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // org.bouncycastle.x509.X509CRLStoreSelector selector
         0: .line 694
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getAuthorityRevocationListAttribute:()Ljava/lang/String;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* attrs */
        start local 2 // java.lang.String[] attrs
         1: .line 695
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
         2: .line 696
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getLdapAuthorityRevocationListAttributeName:()Ljava/lang/String;
         3: .line 695
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* attrNames */
        start local 3 // java.lang.String[] attrNames
         4: .line 697
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
         5: .line 698
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getAuthorityRevocationListIssuerAttributeName:()Ljava/lang/String;
         6: .line 697
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* issuerAttributeNames */
        start local 4 // java.lang.String[] issuerAttributeNames
         7: .line 700
            aload 0 /* this */
            aload 1 /* selector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
         8: .line 701
            aload 4 /* issuerAttributeNames */
         9: .line 700
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.cRLIssuerSearch:(Lorg/bouncycastle/x509/X509CRLStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        start local 5 // java.util.List list
        10: .line 702
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createCRLs:(Ljava/util/List;Lorg/bouncycastle/x509/X509CRLStoreSelector;)Ljava/util/Set;
            astore 6 /* resultSet */
        start local 6 // java.util.Set resultSet
        11: .line 703
            aload 6 /* resultSet */
            invokeinterface java.util.Set.size:()I
            ifne 17
        12: .line 705
            new org.bouncycastle.x509.X509CRLStoreSelector
            dup
            invokespecial org.bouncycastle.x509.X509CRLStoreSelector.<init>:()V
            astore 7 /* emptySelector */
        start local 7 // org.bouncycastle.x509.X509CRLStoreSelector emptySelector
        13: .line 706
            aload 0 /* this */
            aload 7 /* emptySelector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
        14: .line 707
            aload 4 /* issuerAttributeNames */
        15: .line 706
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.cRLIssuerSearch:(Lorg/bouncycastle/x509/X509CRLStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        16: .line 709
            aload 6 /* resultSet */
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createCRLs:(Ljava/util/List;Lorg/bouncycastle/x509/X509CRLStoreSelector;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 7 // org.bouncycastle.x509.X509CRLStoreSelector emptySelector
        17: .line 711
      StackMap locals: org.bouncycastle.x509.util.LDAPStoreHelper org.bouncycastle.x509.X509CRLStoreSelector java.lang.String[] java.lang.String[] java.lang.String[] java.util.List java.util.Set
      StackMap stack:
            aload 6 /* resultSet */
            areturn
        end local 6 // java.util.Set resultSet
        end local 5 // java.util.List list
        end local 4 // java.lang.String[] issuerAttributeNames
        end local 3 // java.lang.String[] attrNames
        end local 2 // java.lang.String[] attrs
        end local 1 // org.bouncycastle.x509.X509CRLStoreSelector selector
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   18     0                  this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   18     1              selector  Lorg/bouncycastle/x509/X509CRLStoreSelector;
            1   18     2                 attrs  [Ljava/lang/String;
            4   18     3             attrNames  [Ljava/lang/String;
            7   18     4  issuerAttributeNames  [Ljava/lang/String;
           10   18     5                  list  Ljava/util/List;
           11   18     6             resultSet  Ljava/util/Set;
           13   17     7         emptySelector  Lorg/bouncycastle/x509/X509CRLStoreSelector;
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
          Name  Flags
      selector  

  public java.util.Collection getAttributeCertificateRevocationLists(org.bouncycastle.x509.X509CRLStoreSelector);
    descriptor: (Lorg/bouncycastle/x509/X509CRLStoreSelector;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // org.bouncycastle.x509.X509CRLStoreSelector selector
         0: .line 727
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
         1: .line 728
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getAttributeCertificateRevocationListAttribute:()Ljava/lang/String;
         2: .line 727
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* attrs */
        start local 2 // java.lang.String[] attrs
         3: .line 729
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
         4: .line 730
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getLdapAttributeCertificateRevocationListAttributeName:()Ljava/lang/String;
         5: .line 729
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* attrNames */
        start local 3 // java.lang.String[] attrNames
         6: .line 731
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
         7: .line 732
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getAttributeCertificateRevocationListIssuerAttributeName:()Ljava/lang/String;
         8: .line 731
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* issuerAttributeNames */
        start local 4 // java.lang.String[] issuerAttributeNames
         9: .line 734
            aload 0 /* this */
            aload 1 /* selector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
        10: .line 735
            aload 4 /* issuerAttributeNames */
        11: .line 734
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.cRLIssuerSearch:(Lorg/bouncycastle/x509/X509CRLStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        start local 5 // java.util.List list
        12: .line 736
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createCRLs:(Ljava/util/List;Lorg/bouncycastle/x509/X509CRLStoreSelector;)Ljava/util/Set;
            astore 6 /* resultSet */
        start local 6 // java.util.Set resultSet
        13: .line 737
            aload 6 /* resultSet */
            invokeinterface java.util.Set.size:()I
            ifne 19
        14: .line 739
            new org.bouncycastle.x509.X509CRLStoreSelector
            dup
            invokespecial org.bouncycastle.x509.X509CRLStoreSelector.<init>:()V
            astore 7 /* emptySelector */
        start local 7 // org.bouncycastle.x509.X509CRLStoreSelector emptySelector
        15: .line 740
            aload 0 /* this */
            aload 7 /* emptySelector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
        16: .line 741
            aload 4 /* issuerAttributeNames */
        17: .line 740
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.cRLIssuerSearch:(Lorg/bouncycastle/x509/X509CRLStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        18: .line 743
            aload 6 /* resultSet */
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createCRLs:(Ljava/util/List;Lorg/bouncycastle/x509/X509CRLStoreSelector;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 7 // org.bouncycastle.x509.X509CRLStoreSelector emptySelector
        19: .line 745
      StackMap locals: org.bouncycastle.x509.util.LDAPStoreHelper org.bouncycastle.x509.X509CRLStoreSelector java.lang.String[] java.lang.String[] java.lang.String[] java.util.List java.util.Set
      StackMap stack:
            aload 6 /* resultSet */
            areturn
        end local 6 // java.util.Set resultSet
        end local 5 // java.util.List list
        end local 4 // java.lang.String[] issuerAttributeNames
        end local 3 // java.lang.String[] attrNames
        end local 2 // java.lang.String[] attrs
        end local 1 // org.bouncycastle.x509.X509CRLStoreSelector selector
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   20     0                  this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   20     1              selector  Lorg/bouncycastle/x509/X509CRLStoreSelector;
            3   20     2                 attrs  [Ljava/lang/String;
            6   20     3             attrNames  [Ljava/lang/String;
            9   20     4  issuerAttributeNames  [Ljava/lang/String;
           12   20     5                  list  Ljava/util/List;
           13   20     6             resultSet  Ljava/util/Set;
           15   19     7         emptySelector  Lorg/bouncycastle/x509/X509CRLStoreSelector;
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
          Name  Flags
      selector  

  public java.util.Collection getAttributeAuthorityRevocationLists(org.bouncycastle.x509.X509CRLStoreSelector);
    descriptor: (Lorg/bouncycastle/x509/X509CRLStoreSelector;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // org.bouncycastle.x509.X509CRLStoreSelector selector
         0: .line 762
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getAttributeAuthorityRevocationListAttribute:()Ljava/lang/String;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* attrs */
        start local 2 // java.lang.String[] attrs
         1: .line 763
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
         2: .line 764
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getLdapAttributeAuthorityRevocationListAttributeName:()Ljava/lang/String;
         3: .line 763
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* attrNames */
        start local 3 // java.lang.String[] attrNames
         4: .line 765
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
         5: .line 766
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getAttributeAuthorityRevocationListIssuerAttributeName:()Ljava/lang/String;
         6: .line 765
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* issuerAttributeNames */
        start local 4 // java.lang.String[] issuerAttributeNames
         7: .line 768
            aload 0 /* this */
            aload 1 /* selector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
         8: .line 769
            aload 4 /* issuerAttributeNames */
         9: .line 768
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.cRLIssuerSearch:(Lorg/bouncycastle/x509/X509CRLStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        start local 5 // java.util.List list
        10: .line 770
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createCRLs:(Ljava/util/List;Lorg/bouncycastle/x509/X509CRLStoreSelector;)Ljava/util/Set;
            astore 6 /* resultSet */
        start local 6 // java.util.Set resultSet
        11: .line 771
            aload 6 /* resultSet */
            invokeinterface java.util.Set.size:()I
            ifne 17
        12: .line 773
            new org.bouncycastle.x509.X509CRLStoreSelector
            dup
            invokespecial org.bouncycastle.x509.X509CRLStoreSelector.<init>:()V
            astore 7 /* emptySelector */
        start local 7 // org.bouncycastle.x509.X509CRLStoreSelector emptySelector
        13: .line 774
            aload 0 /* this */
            aload 7 /* emptySelector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
        14: .line 775
            aload 4 /* issuerAttributeNames */
        15: .line 774
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.cRLIssuerSearch:(Lorg/bouncycastle/x509/X509CRLStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        16: .line 777
            aload 6 /* resultSet */
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createCRLs:(Ljava/util/List;Lorg/bouncycastle/x509/X509CRLStoreSelector;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 7 // org.bouncycastle.x509.X509CRLStoreSelector emptySelector
        17: .line 779
      StackMap locals: org.bouncycastle.x509.util.LDAPStoreHelper org.bouncycastle.x509.X509CRLStoreSelector java.lang.String[] java.lang.String[] java.lang.String[] java.util.List java.util.Set
      StackMap stack:
            aload 6 /* resultSet */
            areturn
        end local 6 // java.util.Set resultSet
        end local 5 // java.util.List list
        end local 4 // java.lang.String[] issuerAttributeNames
        end local 3 // java.lang.String[] attrNames
        end local 2 // java.lang.String[] attrs
        end local 1 // org.bouncycastle.x509.X509CRLStoreSelector selector
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   18     0                  this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   18     1              selector  Lorg/bouncycastle/x509/X509CRLStoreSelector;
            1   18     2                 attrs  [Ljava/lang/String;
            4   18     3             attrNames  [Ljava/lang/String;
            7   18     4  issuerAttributeNames  [Ljava/lang/String;
           10   18     5                  list  Ljava/util/List;
           11   18     6             resultSet  Ljava/util/Set;
           13   17     7         emptySelector  Lorg/bouncycastle/x509/X509CRLStoreSelector;
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
          Name  Flags
      selector  

  public java.util.Collection getCrossCertificatePairs(org.bouncycastle.x509.X509CertPairStoreSelector);
    descriptor: (Lorg/bouncycastle/x509/X509CertPairStoreSelector;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // org.bouncycastle.x509.X509CertPairStoreSelector selector
         0: .line 792
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getCrossCertificateAttribute:()Ljava/lang/String;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* attrs */
        start local 2 // java.lang.String[] attrs
         1: .line 793
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getLdapCrossCertificateAttributeName:()Ljava/lang/String;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* attrNames */
        start local 3 // java.lang.String[] attrNames
         2: .line 794
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
         3: .line 795
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getCrossCertificateSubjectAttributeName:()Ljava/lang/String;
         4: .line 794
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* subjectAttributeNames */
        start local 4 // java.lang.String[] subjectAttributeNames
         5: .line 796
            aload 0 /* this */
            aload 1 /* selector */
            aload 2 /* attrs */
         6: .line 797
            aload 3 /* attrNames */
            aload 4 /* subjectAttributeNames */
         7: .line 796
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.crossCertificatePairSubjectSearch:(Lorg/bouncycastle/x509/X509CertPairStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        start local 5 // java.util.List list
         8: .line 798
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createCrossCertificatePairs:(Ljava/util/List;Lorg/bouncycastle/x509/X509CertPairStoreSelector;)Ljava/util/Set;
            astore 6 /* resultSet */
        start local 6 // java.util.Set resultSet
         9: .line 799
            aload 6 /* resultSet */
            invokeinterface java.util.Set.size:()I
            ifne 18
        10: .line 801
            new org.bouncycastle.x509.X509CertStoreSelector
            dup
            invokespecial org.bouncycastle.x509.X509CertStoreSelector.<init>:()V
            astore 7 /* emptyCertselector */
        start local 7 // org.bouncycastle.x509.X509CertStoreSelector emptyCertselector
        11: .line 802
            new org.bouncycastle.x509.X509CertPairStoreSelector
            dup
            invokespecial org.bouncycastle.x509.X509CertPairStoreSelector.<init>:()V
            astore 8 /* emptySelector */
        start local 8 // org.bouncycastle.x509.X509CertPairStoreSelector emptySelector
        12: .line 804
            aload 8 /* emptySelector */
            aload 7 /* emptyCertselector */
            invokevirtual org.bouncycastle.x509.X509CertPairStoreSelector.setForwardSelector:(Lorg/bouncycastle/x509/X509CertStoreSelector;)V
        13: .line 805
            aload 8 /* emptySelector */
            aload 7 /* emptyCertselector */
            invokevirtual org.bouncycastle.x509.X509CertPairStoreSelector.setReverseSelector:(Lorg/bouncycastle/x509/X509CertStoreSelector;)V
        14: .line 806
            aload 0 /* this */
            aload 8 /* emptySelector */
            aload 2 /* attrs */
        15: .line 807
            aload 3 /* attrNames */
            aload 4 /* subjectAttributeNames */
        16: .line 806
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.crossCertificatePairSubjectSearch:(Lorg/bouncycastle/x509/X509CertPairStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        17: .line 808
            aload 6 /* resultSet */
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createCrossCertificatePairs:(Ljava/util/List;Lorg/bouncycastle/x509/X509CertPairStoreSelector;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 8 // org.bouncycastle.x509.X509CertPairStoreSelector emptySelector
        end local 7 // org.bouncycastle.x509.X509CertStoreSelector emptyCertselector
        18: .line 810
      StackMap locals: org.bouncycastle.x509.util.LDAPStoreHelper org.bouncycastle.x509.X509CertPairStoreSelector java.lang.String[] java.lang.String[] java.lang.String[] java.util.List java.util.Set
      StackMap stack:
            aload 6 /* resultSet */
            areturn
        end local 6 // java.util.Set resultSet
        end local 5 // java.util.List list
        end local 4 // java.lang.String[] subjectAttributeNames
        end local 3 // java.lang.String[] attrNames
        end local 2 // java.lang.String[] attrs
        end local 1 // org.bouncycastle.x509.X509CertPairStoreSelector selector
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   19     0                   this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   19     1               selector  Lorg/bouncycastle/x509/X509CertPairStoreSelector;
            1   19     2                  attrs  [Ljava/lang/String;
            2   19     3              attrNames  [Ljava/lang/String;
            5   19     4  subjectAttributeNames  [Ljava/lang/String;
            8   19     5                   list  Ljava/util/List;
            9   19     6              resultSet  Ljava/util/Set;
           11   18     7      emptyCertselector  Lorg/bouncycastle/x509/X509CertStoreSelector;
           12   18     8          emptySelector  Lorg/bouncycastle/x509/X509CertPairStoreSelector;
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
          Name  Flags
      selector  

  public java.util.Collection getUserCertificates(org.bouncycastle.x509.X509CertStoreSelector);
    descriptor: (Lorg/bouncycastle/x509/X509CertStoreSelector;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // org.bouncycastle.x509.X509CertStoreSelector selector
         0: .line 827
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getUserCertificateAttribute:()Ljava/lang/String;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* attrs */
        start local 2 // java.lang.String[] attrs
         1: .line 828
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getLdapUserCertificateAttributeName:()Ljava/lang/String;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* attrNames */
        start local 3 // java.lang.String[] attrNames
         2: .line 829
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
         3: .line 830
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getUserCertificateSubjectAttributeName:()Ljava/lang/String;
         4: .line 829
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* subjectAttributeNames */
        start local 4 // java.lang.String[] subjectAttributeNames
         5: .line 832
            aload 0 /* this */
            aload 1 /* selector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
         6: .line 833
            aload 4 /* subjectAttributeNames */
         7: .line 832
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.certSubjectSerialSearch:(Lorg/bouncycastle/x509/X509CertStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        start local 5 // java.util.List list
         8: .line 834
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createCerts:(Ljava/util/List;Lorg/bouncycastle/x509/X509CertStoreSelector;)Ljava/util/Set;
            astore 6 /* resultSet */
        start local 6 // java.util.Set resultSet
         9: .line 835
            aload 6 /* resultSet */
            invokeinterface java.util.Set.size:()I
            ifne 15
        10: .line 837
            new org.bouncycastle.x509.X509CertStoreSelector
            dup
            invokespecial org.bouncycastle.x509.X509CertStoreSelector.<init>:()V
            astore 7 /* emptySelector */
        start local 7 // org.bouncycastle.x509.X509CertStoreSelector emptySelector
        11: .line 838
            aload 0 /* this */
            aload 7 /* emptySelector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
        12: .line 839
            aload 4 /* subjectAttributeNames */
        13: .line 838
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.certSubjectSerialSearch:(Lorg/bouncycastle/x509/X509CertStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        14: .line 840
            aload 6 /* resultSet */
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createCerts:(Ljava/util/List;Lorg/bouncycastle/x509/X509CertStoreSelector;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 7 // org.bouncycastle.x509.X509CertStoreSelector emptySelector
        15: .line 843
      StackMap locals: org.bouncycastle.x509.util.LDAPStoreHelper org.bouncycastle.x509.X509CertStoreSelector java.lang.String[] java.lang.String[] java.lang.String[] java.util.List java.util.Set
      StackMap stack:
            aload 6 /* resultSet */
            areturn
        end local 6 // java.util.Set resultSet
        end local 5 // java.util.List list
        end local 4 // java.lang.String[] subjectAttributeNames
        end local 3 // java.lang.String[] attrNames
        end local 2 // java.lang.String[] attrs
        end local 1 // org.bouncycastle.x509.X509CertStoreSelector selector
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   16     0                   this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   16     1               selector  Lorg/bouncycastle/x509/X509CertStoreSelector;
            1   16     2                  attrs  [Ljava/lang/String;
            2   16     3              attrNames  [Ljava/lang/String;
            5   16     4  subjectAttributeNames  [Ljava/lang/String;
            8   16     5                   list  Ljava/util/List;
            9   16     6              resultSet  Ljava/util/Set;
           11   15     7          emptySelector  Lorg/bouncycastle/x509/X509CertStoreSelector;
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
          Name  Flags
      selector  

  public java.util.Collection getAACertificates(org.bouncycastle.x509.X509AttributeCertStoreSelector);
    descriptor: (Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // org.bouncycastle.x509.X509AttributeCertStoreSelector selector
         0: .line 858
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getAACertificateAttribute:()Ljava/lang/String;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* attrs */
        start local 2 // java.lang.String[] attrs
         1: .line 859
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getLdapAACertificateAttributeName:()Ljava/lang/String;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* attrNames */
        start local 3 // java.lang.String[] attrNames
         2: .line 860
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getAACertificateSubjectAttributeName:()Ljava/lang/String;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* subjectAttributeNames */
        start local 4 // java.lang.String[] subjectAttributeNames
         3: .line 862
            aload 0 /* this */
            aload 1 /* selector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
         4: .line 863
            aload 4 /* subjectAttributeNames */
         5: .line 862
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.attrCertSubjectSerialSearch:(Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        start local 5 // java.util.List list
         6: .line 864
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createAttributeCertificates:(Ljava/util/List;Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;)Ljava/util/Set;
            astore 6 /* resultSet */
        start local 6 // java.util.Set resultSet
         7: .line 865
            aload 6 /* resultSet */
            invokeinterface java.util.Set.size:()I
            ifne 13
         8: .line 867
            new org.bouncycastle.x509.X509AttributeCertStoreSelector
            dup
            invokespecial org.bouncycastle.x509.X509AttributeCertStoreSelector.<init>:()V
            astore 7 /* emptySelector */
        start local 7 // org.bouncycastle.x509.X509AttributeCertStoreSelector emptySelector
         9: .line 868
            aload 0 /* this */
            aload 7 /* emptySelector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
        10: .line 869
            aload 4 /* subjectAttributeNames */
        11: .line 868
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.attrCertSubjectSerialSearch:(Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        12: .line 870
            aload 6 /* resultSet */
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createAttributeCertificates:(Ljava/util/List;Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 7 // org.bouncycastle.x509.X509AttributeCertStoreSelector emptySelector
        13: .line 873
      StackMap locals: org.bouncycastle.x509.util.LDAPStoreHelper org.bouncycastle.x509.X509AttributeCertStoreSelector java.lang.String[] java.lang.String[] java.lang.String[] java.util.List java.util.Set
      StackMap stack:
            aload 6 /* resultSet */
            areturn
        end local 6 // java.util.Set resultSet
        end local 5 // java.util.List list
        end local 4 // java.lang.String[] subjectAttributeNames
        end local 3 // java.lang.String[] attrNames
        end local 2 // java.lang.String[] attrs
        end local 1 // org.bouncycastle.x509.X509AttributeCertStoreSelector selector
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   14     0                   this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   14     1               selector  Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;
            1   14     2                  attrs  [Ljava/lang/String;
            2   14     3              attrNames  [Ljava/lang/String;
            3   14     4  subjectAttributeNames  [Ljava/lang/String;
            6   14     5                   list  Ljava/util/List;
            7   14     6              resultSet  Ljava/util/Set;
            9   13     7          emptySelector  Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
          Name  Flags
      selector  

  public java.util.Collection getAttributeDescriptorCertificates(org.bouncycastle.x509.X509AttributeCertStoreSelector);
    descriptor: (Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // org.bouncycastle.x509.X509AttributeCertStoreSelector selector
         0: .line 890
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getAttributeDescriptorCertificateAttribute:()Ljava/lang/String;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* attrs */
        start local 2 // java.lang.String[] attrs
         1: .line 891
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
         2: .line 892
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getLdapAttributeDescriptorCertificateAttributeName:()Ljava/lang/String;
         3: .line 891
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* attrNames */
        start local 3 // java.lang.String[] attrNames
         4: .line 893
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
         5: .line 894
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getAttributeDescriptorCertificateSubjectAttributeName:()Ljava/lang/String;
         6: .line 893
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* subjectAttributeNames */
        start local 4 // java.lang.String[] subjectAttributeNames
         7: .line 896
            aload 0 /* this */
            aload 1 /* selector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
         8: .line 897
            aload 4 /* subjectAttributeNames */
         9: .line 896
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.attrCertSubjectSerialSearch:(Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        start local 5 // java.util.List list
        10: .line 898
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createAttributeCertificates:(Ljava/util/List;Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;)Ljava/util/Set;
            astore 6 /* resultSet */
        start local 6 // java.util.Set resultSet
        11: .line 899
            aload 6 /* resultSet */
            invokeinterface java.util.Set.size:()I
            ifne 17
        12: .line 901
            new org.bouncycastle.x509.X509AttributeCertStoreSelector
            dup
            invokespecial org.bouncycastle.x509.X509AttributeCertStoreSelector.<init>:()V
            astore 7 /* emptySelector */
        start local 7 // org.bouncycastle.x509.X509AttributeCertStoreSelector emptySelector
        13: .line 902
            aload 0 /* this */
            aload 7 /* emptySelector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
        14: .line 903
            aload 4 /* subjectAttributeNames */
        15: .line 902
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.attrCertSubjectSerialSearch:(Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        16: .line 904
            aload 6 /* resultSet */
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createAttributeCertificates:(Ljava/util/List;Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 7 // org.bouncycastle.x509.X509AttributeCertStoreSelector emptySelector
        17: .line 907
      StackMap locals: org.bouncycastle.x509.util.LDAPStoreHelper org.bouncycastle.x509.X509AttributeCertStoreSelector java.lang.String[] java.lang.String[] java.lang.String[] java.util.List java.util.Set
      StackMap stack:
            aload 6 /* resultSet */
            areturn
        end local 6 // java.util.Set resultSet
        end local 5 // java.util.List list
        end local 4 // java.lang.String[] subjectAttributeNames
        end local 3 // java.lang.String[] attrNames
        end local 2 // java.lang.String[] attrs
        end local 1 // org.bouncycastle.x509.X509AttributeCertStoreSelector selector
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   18     0                   this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   18     1               selector  Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;
            1   18     2                  attrs  [Ljava/lang/String;
            4   18     3              attrNames  [Ljava/lang/String;
            7   18     4  subjectAttributeNames  [Ljava/lang/String;
           10   18     5                   list  Ljava/util/List;
           11   18     6              resultSet  Ljava/util/Set;
           13   17     7          emptySelector  Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
          Name  Flags
      selector  

  public java.util.Collection getCACertificates(org.bouncycastle.x509.X509CertStoreSelector);
    descriptor: (Lorg/bouncycastle/x509/X509CertStoreSelector;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // org.bouncycastle.x509.X509CertStoreSelector selector
         0: .line 924
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getCACertificateAttribute:()Ljava/lang/String;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* attrs */
        start local 2 // java.lang.String[] attrs
         1: .line 925
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getLdapCACertificateAttributeName:()Ljava/lang/String;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* attrNames */
        start local 3 // java.lang.String[] attrNames
         2: .line 926
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
         3: .line 927
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getCACertificateSubjectAttributeName:()Ljava/lang/String;
         4: .line 926
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* subjectAttributeNames */
        start local 4 // java.lang.String[] subjectAttributeNames
         5: .line 928
            aload 0 /* this */
            aload 1 /* selector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
         6: .line 929
            aload 4 /* subjectAttributeNames */
         7: .line 928
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.certSubjectSerialSearch:(Lorg/bouncycastle/x509/X509CertStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        start local 5 // java.util.List list
         8: .line 930
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createCerts:(Ljava/util/List;Lorg/bouncycastle/x509/X509CertStoreSelector;)Ljava/util/Set;
            astore 6 /* resultSet */
        start local 6 // java.util.Set resultSet
         9: .line 931
            aload 6 /* resultSet */
            invokeinterface java.util.Set.size:()I
            ifne 15
        10: .line 933
            new org.bouncycastle.x509.X509CertStoreSelector
            dup
            invokespecial org.bouncycastle.x509.X509CertStoreSelector.<init>:()V
            astore 7 /* emptySelector */
        start local 7 // org.bouncycastle.x509.X509CertStoreSelector emptySelector
        11: .line 934
            aload 0 /* this */
            aload 7 /* emptySelector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
        12: .line 935
            aload 4 /* subjectAttributeNames */
        13: .line 934
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.certSubjectSerialSearch:(Lorg/bouncycastle/x509/X509CertStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        14: .line 936
            aload 6 /* resultSet */
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createCerts:(Ljava/util/List;Lorg/bouncycastle/x509/X509CertStoreSelector;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 7 // org.bouncycastle.x509.X509CertStoreSelector emptySelector
        15: .line 938
      StackMap locals: org.bouncycastle.x509.util.LDAPStoreHelper org.bouncycastle.x509.X509CertStoreSelector java.lang.String[] java.lang.String[] java.lang.String[] java.util.List java.util.Set
      StackMap stack:
            aload 6 /* resultSet */
            areturn
        end local 6 // java.util.Set resultSet
        end local 5 // java.util.List list
        end local 4 // java.lang.String[] subjectAttributeNames
        end local 3 // java.lang.String[] attrNames
        end local 2 // java.lang.String[] attrs
        end local 1 // org.bouncycastle.x509.X509CertStoreSelector selector
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   16     0                   this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   16     1               selector  Lorg/bouncycastle/x509/X509CertStoreSelector;
            1   16     2                  attrs  [Ljava/lang/String;
            2   16     3              attrNames  [Ljava/lang/String;
            5   16     4  subjectAttributeNames  [Ljava/lang/String;
            8   16     5                   list  Ljava/util/List;
            9   16     6              resultSet  Ljava/util/Set;
           11   15     7          emptySelector  Lorg/bouncycastle/x509/X509CertStoreSelector;
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
          Name  Flags
      selector  

  public java.util.Collection getDeltaCertificateRevocationLists(org.bouncycastle.x509.X509CRLStoreSelector);
    descriptor: (Lorg/bouncycastle/x509/X509CRLStoreSelector;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // org.bouncycastle.x509.X509CRLStoreSelector selector
         0: .line 951
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getDeltaRevocationListAttribute:()Ljava/lang/String;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* attrs */
        start local 2 // java.lang.String[] attrs
         1: .line 952
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getLdapDeltaRevocationListAttributeName:()Ljava/lang/String;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* attrNames */
        start local 3 // java.lang.String[] attrNames
         2: .line 953
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
         3: .line 954
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getDeltaRevocationListIssuerAttributeName:()Ljava/lang/String;
         4: .line 953
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* issuerAttributeNames */
        start local 4 // java.lang.String[] issuerAttributeNames
         5: .line 955
            aload 0 /* this */
            aload 1 /* selector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
         6: .line 956
            aload 4 /* issuerAttributeNames */
         7: .line 955
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.cRLIssuerSearch:(Lorg/bouncycastle/x509/X509CRLStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        start local 5 // java.util.List list
         8: .line 957
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createCRLs:(Ljava/util/List;Lorg/bouncycastle/x509/X509CRLStoreSelector;)Ljava/util/Set;
            astore 6 /* resultSet */
        start local 6 // java.util.Set resultSet
         9: .line 958
            aload 6 /* resultSet */
            invokeinterface java.util.Set.size:()I
            ifne 15
        10: .line 960
            new org.bouncycastle.x509.X509CRLStoreSelector
            dup
            invokespecial org.bouncycastle.x509.X509CRLStoreSelector.<init>:()V
            astore 7 /* emptySelector */
        start local 7 // org.bouncycastle.x509.X509CRLStoreSelector emptySelector
        11: .line 961
            aload 0 /* this */
            aload 7 /* emptySelector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
        12: .line 962
            aload 4 /* issuerAttributeNames */
        13: .line 961
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.cRLIssuerSearch:(Lorg/bouncycastle/x509/X509CRLStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        14: .line 964
            aload 6 /* resultSet */
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createCRLs:(Ljava/util/List;Lorg/bouncycastle/x509/X509CRLStoreSelector;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 7 // org.bouncycastle.x509.X509CRLStoreSelector emptySelector
        15: .line 966
      StackMap locals: org.bouncycastle.x509.util.LDAPStoreHelper org.bouncycastle.x509.X509CRLStoreSelector java.lang.String[] java.lang.String[] java.lang.String[] java.util.List java.util.Set
      StackMap stack:
            aload 6 /* resultSet */
            areturn
        end local 6 // java.util.Set resultSet
        end local 5 // java.util.List list
        end local 4 // java.lang.String[] issuerAttributeNames
        end local 3 // java.lang.String[] attrNames
        end local 2 // java.lang.String[] attrs
        end local 1 // org.bouncycastle.x509.X509CRLStoreSelector selector
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   16     0                  this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   16     1              selector  Lorg/bouncycastle/x509/X509CRLStoreSelector;
            1   16     2                 attrs  [Ljava/lang/String;
            2   16     3             attrNames  [Ljava/lang/String;
            5   16     4  issuerAttributeNames  [Ljava/lang/String;
            8   16     5                  list  Ljava/util/List;
            9   16     6             resultSet  Ljava/util/Set;
           11   15     7         emptySelector  Lorg/bouncycastle/x509/X509CRLStoreSelector;
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
          Name  Flags
      selector  

  public java.util.Collection getAttributeCertificateAttributes(org.bouncycastle.x509.X509AttributeCertStoreSelector);
    descriptor: (Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // org.bouncycastle.x509.X509AttributeCertStoreSelector selector
         0: .line 981
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getAttributeCertificateAttributeAttribute:()Ljava/lang/String;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* attrs */
        start local 2 // java.lang.String[] attrs
         1: .line 982
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
         2: .line 983
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getLdapAttributeCertificateAttributeAttributeName:()Ljava/lang/String;
         3: .line 982
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* attrNames */
        start local 3 // java.lang.String[] attrNames
         4: .line 984
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
         5: .line 985
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getAttributeCertificateAttributeSubjectAttributeName:()Ljava/lang/String;
         6: .line 984
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* subjectAttributeNames */
        start local 4 // java.lang.String[] subjectAttributeNames
         7: .line 986
            aload 0 /* this */
            aload 1 /* selector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
         8: .line 987
            aload 4 /* subjectAttributeNames */
         9: .line 986
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.attrCertSubjectSerialSearch:(Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        start local 5 // java.util.List list
        10: .line 988
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createAttributeCertificates:(Ljava/util/List;Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;)Ljava/util/Set;
            astore 6 /* resultSet */
        start local 6 // java.util.Set resultSet
        11: .line 989
            aload 6 /* resultSet */
            invokeinterface java.util.Set.size:()I
            ifne 17
        12: .line 991
            new org.bouncycastle.x509.X509AttributeCertStoreSelector
            dup
            invokespecial org.bouncycastle.x509.X509AttributeCertStoreSelector.<init>:()V
            astore 7 /* emptySelector */
        start local 7 // org.bouncycastle.x509.X509AttributeCertStoreSelector emptySelector
        13: .line 992
            aload 0 /* this */
            aload 7 /* emptySelector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
        14: .line 993
            aload 4 /* subjectAttributeNames */
        15: .line 992
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.attrCertSubjectSerialSearch:(Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        16: .line 994
            aload 6 /* resultSet */
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createAttributeCertificates:(Ljava/util/List;Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 7 // org.bouncycastle.x509.X509AttributeCertStoreSelector emptySelector
        17: .line 997
      StackMap locals: org.bouncycastle.x509.util.LDAPStoreHelper org.bouncycastle.x509.X509AttributeCertStoreSelector java.lang.String[] java.lang.String[] java.lang.String[] java.util.List java.util.Set
      StackMap stack:
            aload 6 /* resultSet */
            areturn
        end local 6 // java.util.Set resultSet
        end local 5 // java.util.List list
        end local 4 // java.lang.String[] subjectAttributeNames
        end local 3 // java.lang.String[] attrNames
        end local 2 // java.lang.String[] attrs
        end local 1 // org.bouncycastle.x509.X509AttributeCertStoreSelector selector
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   18     0                   this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   18     1               selector  Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;
            1   18     2                  attrs  [Ljava/lang/String;
            4   18     3              attrNames  [Ljava/lang/String;
            7   18     4  subjectAttributeNames  [Ljava/lang/String;
           10   18     5                   list  Ljava/util/List;
           11   18     6              resultSet  Ljava/util/Set;
           13   17     7          emptySelector  Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
          Name  Flags
      selector  

  public java.util.Collection getCertificateRevocationLists(org.bouncycastle.x509.X509CRLStoreSelector);
    descriptor: (Lorg/bouncycastle/x509/X509CRLStoreSelector;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // org.bouncycastle.x509.X509CRLStoreSelector selector
         0: .line 1010
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getCertificateRevocationListAttribute:()Ljava/lang/String;
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* attrs */
        start local 2 // java.lang.String[] attrs
         1: .line 1011
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
         2: .line 1012
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getLdapCertificateRevocationListAttributeName:()Ljava/lang/String;
         3: .line 1011
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* attrNames */
        start local 3 // java.lang.String[] attrNames
         4: .line 1013
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.params:Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
         5: .line 1014
            invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters.getCertificateRevocationListIssuerAttributeName:()Ljava/lang/String;
         6: .line 1013
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.splitString:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* issuerAttributeNames */
        start local 4 // java.lang.String[] issuerAttributeNames
         7: .line 1015
            aload 0 /* this */
            aload 1 /* selector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
         8: .line 1016
            aload 4 /* issuerAttributeNames */
         9: .line 1015
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.cRLIssuerSearch:(Lorg/bouncycastle/x509/X509CRLStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        start local 5 // java.util.List list
        10: .line 1017
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createCRLs:(Ljava/util/List;Lorg/bouncycastle/x509/X509CRLStoreSelector;)Ljava/util/Set;
            astore 6 /* resultSet */
        start local 6 // java.util.Set resultSet
        11: .line 1018
            aload 6 /* resultSet */
            invokeinterface java.util.Set.size:()I
            ifne 17
        12: .line 1020
            new org.bouncycastle.x509.X509CRLStoreSelector
            dup
            invokespecial org.bouncycastle.x509.X509CRLStoreSelector.<init>:()V
            astore 7 /* emptySelector */
        start local 7 // org.bouncycastle.x509.X509CRLStoreSelector emptySelector
        13: .line 1021
            aload 0 /* this */
            aload 7 /* emptySelector */
            aload 2 /* attrs */
            aload 3 /* attrNames */
        14: .line 1022
            aload 4 /* issuerAttributeNames */
        15: .line 1021
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.cRLIssuerSearch:(Lorg/bouncycastle/x509/X509CRLStoreSelector;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
            astore 5 /* list */
        16: .line 1024
            aload 6 /* resultSet */
            aload 0 /* this */
            aload 5 /* list */
            aload 1 /* selector */
            invokevirtual org.bouncycastle.x509.util.LDAPStoreHelper.createCRLs:(Ljava/util/List;Lorg/bouncycastle/x509/X509CRLStoreSelector;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 7 // org.bouncycastle.x509.X509CRLStoreSelector emptySelector
        17: .line 1026
      StackMap locals: org.bouncycastle.x509.util.LDAPStoreHelper org.bouncycastle.x509.X509CRLStoreSelector java.lang.String[] java.lang.String[] java.lang.String[] java.util.List java.util.Set
      StackMap stack:
            aload 6 /* resultSet */
            areturn
        end local 6 // java.util.Set resultSet
        end local 5 // java.util.List list
        end local 4 // java.lang.String[] issuerAttributeNames
        end local 3 // java.lang.String[] attrNames
        end local 2 // java.lang.String[] attrs
        end local 1 // org.bouncycastle.x509.X509CRLStoreSelector selector
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   18     0                  this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   18     1              selector  Lorg/bouncycastle/x509/X509CRLStoreSelector;
            1   18     2                 attrs  [Ljava/lang/String;
            4   18     3             attrNames  [Ljava/lang/String;
            7   18     4  issuerAttributeNames  [Ljava/lang/String;
           10   18     5                  list  Ljava/util/List;
           11   18     6             resultSet  Ljava/util/Set;
           13   17     7         emptySelector  Lorg/bouncycastle/x509/X509CRLStoreSelector;
    Exceptions:
      throws org.bouncycastle.util.StoreException
    MethodParameters:
          Name  Flags
      selector  

  private synchronized void addToCache(java.lang.String, java.util.List);
    descriptor: (Ljava/lang/String;Ljava/util/List;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=12, args_size=3
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // java.lang.String searchCriteria
        start local 2 // java.util.List list
         0: .line 1037
            new java.sql.Date
            dup
            invokestatic java.lang.System.currentTimeMillis:()J
            invokespecial java.sql.Date.<init>:(J)V
            astore 3 /* now */
        start local 3 // java.sql.Date now
         1: .line 1038
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* cacheEntry */
        start local 4 // java.util.List cacheEntry
         2: .line 1039
            aload 4 /* cacheEntry */
            aload 3 /* now */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 1040
            aload 4 /* cacheEntry */
            aload 2 /* list */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 1041
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.cacheMap:Ljava/util/Map;
            aload 1 /* searchCriteria */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 1043
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.cacheMap:Ljava/util/Map;
            aload 1 /* searchCriteria */
            aload 4 /* cacheEntry */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 1044
            goto 22
         7: .line 1047
      StackMap locals: java.sql.Date java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.cacheMap:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            getstatic org.bouncycastle.x509.util.LDAPStoreHelper.cacheSize:I
            if_icmplt 21
         8: .line 1050
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.cacheMap:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5 /* it */
        start local 5 // java.util.Iterator it
         9: .line 1051
            aload 3 /* now */
            invokevirtual java.sql.Date.getTime:()J
            lstore 6 /* oldest */
        start local 6 // long oldest
        10: .line 1052
            aconst_null
            astore 8 /* replace */
        start local 8 // java.lang.Object replace
        11: .line 1053
            goto 19
        12: .line 1055
      StackMap locals: java.util.Iterator long java.lang.Object
      StackMap stack:
            aload 5 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 9 /* entry */
        start local 9 // java.util.Map$Entry entry
        13: .line 1056
            aload 9 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.sql.Date
        14: .line 1057
            invokevirtual java.sql.Date.getTime:()J
        15: .line 1056
            lstore 10 /* current */
        start local 10 // long current
        16: .line 1058
            lload 10 /* current */
            lload 6 /* oldest */
            lcmp
            ifge 19
        17: .line 1060
            lload 10 /* current */
            lstore 6 /* oldest */
        18: .line 1061
            aload 9 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            astore 8 /* replace */
        end local 10 // long current
        end local 9 // java.util.Map$Entry entry
        19: .line 1053
      StackMap locals:
      StackMap stack:
            aload 5 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        20: .line 1064
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.cacheMap:Ljava/util/Map;
            aload 8 /* replace */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // java.lang.Object replace
        end local 6 // long oldest
        end local 5 // java.util.Iterator it
        21: .line 1066
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.cacheMap:Ljava/util/Map;
            aload 1 /* searchCriteria */
            aload 4 /* cacheEntry */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 1068
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.util.List cacheEntry
        end local 3 // java.sql.Date now
        end local 2 // java.util.List list
        end local 1 // java.lang.String searchCriteria
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0            this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0   23     1  searchCriteria  Ljava/lang/String;
            0   23     2            list  Ljava/util/List;
            1   23     3             now  Ljava/sql/Date;
            2   23     4      cacheEntry  Ljava/util/List;
            9   21     5              it  Ljava/util/Iterator;
           10   21     6          oldest  J
           11   21     8         replace  Ljava/lang/Object;
           13   19     9           entry  Ljava/util/Map$Entry;
           16   19    10         current  J
    MethodParameters:
                Name  Flags
      searchCriteria  
      list            

  private java.util.List getFromCache(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // java.lang.String searchCriteria
         0: .line 1072
            aload 0 /* this */
            getfield org.bouncycastle.x509.util.LDAPStoreHelper.cacheMap:Ljava/util/Map;
            aload 1 /* searchCriteria */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 2 /* entry */
        start local 2 // java.util.List entry
         1: .line 1073
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 3 /* now */
        start local 3 // long now
         2: .line 1074
            aload 2 /* entry */
            ifnull 6
         3: .line 1077
            aload 2 /* entry */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.sql.Date
            invokevirtual java.sql.Date.getTime:()J
            lload 3 /* now */
            getstatic org.bouncycastle.x509.util.LDAPStoreHelper.lifeTime:J
            lsub
            lcmp
            ifge 5
         4: .line 1079
            aconst_null
            areturn
         5: .line 1081
      StackMap locals: java.util.List long
      StackMap stack:
            aload 2 /* entry */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.List
            areturn
         6: .line 1083
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // long now
        end local 2 // java.util.List entry
        end local 1 // java.lang.String searchCriteria
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0    7     1  searchCriteria  Ljava/lang/String;
            1    7     2           entry  Ljava/util/List;
            2    7     3             now  J
    MethodParameters:
                Name  Flags
      searchCriteria  

  private java.lang.String[] splitString(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // java.lang.String str
         0: .line 1091
            aload 1 /* str */
            ldc "\\s+"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            areturn
        end local 1 // java.lang.String str
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0    1     1   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   

  private java.lang.String getSubjectAsString(org.bouncycastle.x509.X509CertStoreSelector);
    descriptor: (Lorg/bouncycastle/x509/X509CertStoreSelector;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // org.bouncycastle.x509.X509CertStoreSelector xselector
         0: .line 1098
            aload 1 /* xselector */
            invokevirtual org.bouncycastle.x509.X509CertStoreSelector.getSubjectAsBytes:()[B
            astore 2 /* encSubject */
        start local 2 // byte[] encSubject
         1: .line 1099
            aload 2 /* encSubject */
            ifnull 6
         2: .line 1101
            new javax.security.auth.x500.X500Principal
            dup
            aload 2 /* encSubject */
            invokespecial javax.security.auth.x500.X500Principal.<init>:([B)V
            ldc "RFC1779"
            invokevirtual javax.security.auth.x500.X500Principal.getName:(Ljava/lang/String;)Ljava/lang/String;
         3: areturn
        end local 2 // byte[] encSubject
         4: .line 1104
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
         5: .line 1106
            new org.bouncycastle.util.StoreException
            dup
            new java.lang.StringBuilder
            dup
            ldc "exception processing name: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* e */
            invokespecial org.bouncycastle.util.StoreException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException e
         6: .line 1108
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.bouncycastle.x509.X509CertStoreSelector xselector
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0    7     1   xselector  Lorg/bouncycastle/x509/X509CertStoreSelector;
            1    4     2  encSubject  [B
            5    6     2           e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.io.IOException
    MethodParameters:
           Name  Flags
      xselector  

  private javax.security.auth.x500.X500Principal getCertificateIssuer(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Ljavax/security/auth/x500/X500Principal;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
        start local 1 // java.security.cert.X509Certificate cert
         0: .line 1113
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            areturn
        end local 1 // java.security.cert.X509Certificate cert
        end local 0 // org.bouncycastle.x509.util.LDAPStoreHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/x509/util/LDAPStoreHelper;
            0    1     1  cert  Ljava/security/cert/X509Certificate;
    MethodParameters:
      Name  Flags
      cert  
}
SourceFile: "LDAPStoreHelper.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map