class sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest
  super_class: java.lang.Object
{
  private final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.Map<java.lang.String, byte[][]> valueMap;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;[[B>;

  private final java.util.List<java.lang.String> requestedAttributes;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  final sun.security.provider.certpath.ldap.LDAPCertStoreImpl this$0;
    descriptor: Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(sun.security.provider.certpath.ldap.LDAPCertStoreImpl, java.lang.String);
    descriptor: (Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest this
        start local 2 // java.lang.String name
         0: .line 223
            aload 0 /* this */
            aload 1
            putfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 224
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.checkName:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.name:Ljava/lang/String;
         2: .line 225
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_5
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.requestedAttributes:Ljava/util/List;
         3: .line 226
            return
        end local 2 // java.lang.String name
        end local 0 // sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl$LDAPRequest;
            0    4     2  name  Ljava/lang/String;
    Exceptions:
      throws java.security.cert.CertStoreException
    MethodParameters:
        Name  Flags
      this$0  final
      name    

  private java.lang.String checkName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest this
        start local 1 // java.lang.String name
         0: .line 229
            aload 1 /* name */
            ifnonnull 2
         1: .line 230
            new java.security.cert.CertStoreException
            dup
            ldc "Name absent"
            invokespecial java.security.cert.CertStoreException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 233
      StackMap locals:
      StackMap stack:
            new javax.naming.CompositeName
            dup
            aload 1 /* name */
            invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
            invokevirtual javax.naming.CompositeName.size:()I
            iconst_1
            if_icmple 6
         3: .line 234
            new java.security.cert.CertStoreException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid name: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.cert.CertStoreException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 236
      StackMap locals:
      StackMap stack: javax.naming.InvalidNameException
            astore 2 /* ine */
        start local 2 // javax.naming.InvalidNameException ine
         5: .line 237
            new java.security.cert.CertStoreException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid name: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* ine */
            invokespecial java.security.cert.CertStoreException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // javax.naming.InvalidNameException ine
         6: .line 239
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            areturn
        end local 1 // java.lang.String name
        end local 0 // sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl$LDAPRequest;
            0    7     1  name  Ljava/lang/String;
            5    6     2   ine  Ljavax/naming/InvalidNameException;
      Exception table:
        from    to  target  type
           2     4       4  Class javax.naming.InvalidNameException
    Exceptions:
      throws java.security.cert.CertStoreException
    MethodParameters:
      Name  Flags
      name  

  void addRequestedAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest this
        start local 1 // java.lang.String attrId
         0: .line 243
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.valueMap:Ljava/util/Map;
            ifnull 2
         1: .line 244
            new java.lang.IllegalStateException
            dup
            ldc "Request already sent"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 246
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.requestedAttributes:Ljava/util/List;
            aload 1 /* attrId */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 247
            return
        end local 1 // java.lang.String attrId
        end local 0 // sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl$LDAPRequest;
            0    4     1  attrId  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      attrId  

  byte[][] getValues(java.lang.String);
    descriptor: (Ljava/lang/String;)[[B
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest this
        start local 1 // java.lang.String attrId
         0: .line 257
            getstatic sun.security.provider.certpath.ldap.LDAPCertStoreImpl.debug:Lsun/security/util/Debug;
            ifnull 4
            invokestatic sun.security.util.Debug.isVerbose:()Z
            ifeq 4
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl;
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl.cacheHits:I
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl;
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl.cacheMisses:I
            iadd
            bipush 50
            irem
            ifne 4
         1: .line 258
            getstatic sun.security.provider.certpath.ldap.LDAPCertStoreImpl.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "LDAPRequest Cache hits: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl;
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl.cacheHits:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         2: .line 259
            ldc "; misses: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl;
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl.cacheMisses:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 258
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         4: .line 261
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.name: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;
            aload 1 /* attrId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* cacheKey */
        start local 2 // java.lang.String cacheKey
         5: .line 262
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl;
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl.valueCache:Lsun/security/util/Cache;
            aload 2 /* cacheKey */
            invokevirtual sun.security.util.Cache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast byte[][]
            astore 3 /* values */
        start local 3 // byte[][] values
         6: .line 263
            aload 3 /* values */
            ifnull 9
         7: .line 264
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl;
            dup
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl.cacheHits:I
            iconst_1
            iadd
            putfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl.cacheHits:I
         8: .line 265
            aload 3 /* values */
            areturn
         9: .line 267
      StackMap locals: java.lang.String byte[][]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl;
            dup
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl.cacheMisses:I
            iconst_1
            iadd
            putfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl.cacheMisses:I
        10: .line 268
            aload 0 /* this */
            invokevirtual sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.getValueMap:()Ljava/util/Map;
            astore 4 /* attrs */
        start local 4 // java.util.Map attrs
        11: .line 269
            aload 4 /* attrs */
            aload 1 /* attrId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast byte[][]
            astore 3 /* values */
        12: .line 270
            aload 3 /* values */
            areturn
        end local 4 // java.util.Map attrs
        end local 3 // byte[][] values
        end local 2 // java.lang.String cacheKey
        end local 1 // java.lang.String attrId
        end local 0 // sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl$LDAPRequest;
            0   13     1    attrId  Ljava/lang/String;
            5   13     2  cacheKey  Ljava/lang/String;
            6   13     3    values  [[B
           11   13     4     attrs  Ljava/util/Map<Ljava/lang/String;[[B>;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
        Name  Flags
      attrId  

  private java.util.Map<java.lang.String, byte[][]> getValueMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest this
         0: .line 288
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.valueMap:Ljava/util/Map;
            ifnull 2
         1: .line 289
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.valueMap:Ljava/util/Map;
            areturn
         2: .line 291
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.certpath.ldap.LDAPCertStoreImpl.debug:Lsun/security/util/Debug;
            ifnull 7
            invokestatic sun.security.util.Debug.isVerbose:()Z
            ifeq 7
         3: .line 292
            getstatic sun.security.provider.certpath.ldap.LDAPCertStoreImpl.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "LDAPRequest: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.requestedAttributes:Ljava/util/List;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         4: .line 293
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl;
            dup
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl.requests:I
            iconst_1
            iadd
            putfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl.requests:I
         5: .line 294
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl;
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl.requests:I
            iconst_5
            irem
            ifne 7
         6: .line 295
            getstatic sun.security.provider.certpath.ldap.LDAPCertStoreImpl.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "LDAP requests: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl;
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl.requests:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         7: .line 298
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.HashMap
            dup
            bipush 8
            invokespecial java.util.HashMap.<init>:(I)V
            putfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.valueMap:Ljava/util/Map;
         8: .line 299
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.requestedAttributes:Ljava/util/List;
            getstatic sun.security.provider.certpath.ldap.LDAPCertStoreImpl.STRING0:[Ljava/lang/String;
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 1 /* attrIds */
        start local 1 // java.lang.String[] attrIds
         9: .line 302
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl;
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl.communicationError:Z
            ifeq 12
        10: .line 303
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl;
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl.ctx:Ljavax/naming/ldap/LdapContext;
            aconst_null
            invokeinterface javax.naming.ldap.LdapContext.reconnect:([Ljavax/naming/ldap/Control;)V
        11: .line 304
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl;
            iconst_0
            putfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl.communicationError:Z
        12: .line 308
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl;
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl.ctx:Ljavax/naming/ldap/LdapContext;
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.name:Ljava/lang/String;
            aload 1 /* attrIds */
            invokeinterface javax.naming.ldap.LdapContext.getAttributes:(Ljava/lang/String;[Ljava/lang/String;)Ljavax/naming/directory/Attributes;
            astore 2 /* attrs */
        start local 2 // javax.naming.directory.Attributes attrs
        13: .line 309
            goto 45
        end local 2 // javax.naming.directory.Attributes attrs
      StackMap locals:
      StackMap stack: com.sun.jndi.ldap.LdapReferralException
        14: astore 3 /* lre */
        start local 3 // com.sun.jndi.ldap.LdapReferralException lre
        15: .line 313
      StackMap locals: sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest java.lang.String[] top com.sun.jndi.ldap.LdapReferralException
      StackMap stack:
            aload 3 /* lre */
            invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralInfo:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* newName */
        start local 4 // java.lang.String newName
        16: .line 314
            new java.net.URI
            dup
            aload 4 /* newName */
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
            astore 5 /* newUri */
        start local 5 // java.net.URI newUri
        17: .line 315
            aload 5 /* newUri */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            ldc "ldap"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 19
        18: .line 316
            new java.lang.IllegalArgumentException
            dup
            ldc "Not LDAP"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 318
      StackMap locals: java.lang.String java.net.URI
      StackMap stack:
            aload 5 /* newUri */
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
            astore 6 /* newDn */
        start local 6 // java.lang.String newDn
        20: .line 319
            aload 6 /* newDn */
            ifnull 22
            aload 6 /* newDn */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 22
        21: .line 320
            aload 6 /* newDn */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* newDn */
        22: .line 322
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 6 /* newDn */
            invokevirtual sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.checkName:(Ljava/lang/String;)Ljava/lang/String;
            pop
        end local 6 // java.lang.String newDn
        end local 5 // java.net.URI newUri
        end local 4 // java.lang.String newName
        23: .line 323
            goto 28
      StackMap locals: sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest java.lang.String[] top com.sun.jndi.ldap.LdapReferralException
      StackMap stack: java.lang.Exception
        24: pop
        25: .line 324
            new javax.naming.NamingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot follow referral to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        26: .line 325
            aload 3 /* lre */
            invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralInfo:()Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 324
            invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 328
      StackMap locals:
      StackMap stack:
            aload 3 /* lre */
            invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralContext:()Ljavax/naming/Context;
            checkcast javax.naming.ldap.LdapContext
        29: .line 327
            astore 4 /* refCtx */
        start local 4 // javax.naming.ldap.LdapContext refCtx
        30: .line 332
            aload 4 /* refCtx */
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.name:Ljava/lang/String;
            aload 1 /* attrIds */
            invokeinterface javax.naming.ldap.LdapContext.getAttributes:(Ljava/lang/String;[Ljava/lang/String;)Ljavax/naming/directory/Attributes;
            astore 2 /* attrs */
        start local 2 // javax.naming.directory.Attributes attrs
        31: .line 339
            aload 4 /* refCtx */
            invokeinterface javax.naming.ldap.LdapContext.close:()V
        32: .line 333
            goto 45
        end local 2 // javax.naming.directory.Attributes attrs
        33: .line 334
      StackMap locals: sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest java.lang.String[] top com.sun.jndi.ldap.LdapReferralException javax.naming.ldap.LdapContext
      StackMap stack: com.sun.jndi.ldap.LdapReferralException
            astore 5 /* re */
        start local 5 // com.sun.jndi.ldap.LdapReferralException re
        34: .line 335
            aload 5 /* re */
            astore 3 /* lre */
        35: .line 339
            aload 4 /* refCtx */
            invokeinterface javax.naming.ldap.LdapContext.close:()V
        36: .line 336
            goto 15
        end local 5 // com.sun.jndi.ldap.LdapReferralException re
        37: .line 337
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        38: .line 339
            aload 4 /* refCtx */
            invokeinterface javax.naming.ldap.LdapContext.close:()V
        39: .line 340
            aload 6
            athrow
        end local 4 // javax.naming.ldap.LdapContext refCtx
        end local 3 // com.sun.jndi.ldap.LdapReferralException lre
        40: .line 342
      StackMap locals: sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest java.lang.String[]
      StackMap stack: javax.naming.CommunicationException
            astore 3 /* ce */
        start local 3 // javax.naming.CommunicationException ce
        41: .line 343
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl;
            iconst_1
            putfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl.communicationError:Z
        42: .line 344
            aload 3 /* ce */
            athrow
        end local 3 // javax.naming.CommunicationException ce
        43: .line 345
      StackMap locals:
      StackMap stack: javax.naming.NameNotFoundException
            pop
        44: .line 348
            getstatic sun.security.provider.certpath.ldap.LDAPCertStoreImpl.EMPTY_ATTRIBUTES:Ljavax/naming/directory/Attributes;
            astore 2 /* attrs */
        start local 2 // javax.naming.directory.Attributes attrs
        45: .line 350
      StackMap locals: javax.naming.directory.Attributes
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.requestedAttributes:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 51
      StackMap locals: sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest java.lang.String[] javax.naming.directory.Attributes top java.util.Iterator
      StackMap stack:
        46: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* attrId */
        start local 3 // java.lang.String attrId
        47: .line 351
            aload 2 /* attrs */
            aload 3 /* attrId */
            invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
            astore 5 /* attr */
        start local 5 // javax.naming.directory.Attribute attr
        48: .line 352
            aload 0 /* this */
            aload 5 /* attr */
            invokevirtual sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.getAttributeValues:(Ljavax/naming/directory/Attribute;)[[B
            astore 6 /* values */
        start local 6 // byte[][] values
        49: .line 353
            aload 0 /* this */
            aload 3 /* attrId */
            aload 6 /* values */
            invokevirtual sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.cacheAttribute:(Ljava/lang/String;[[B)V
        50: .line 354
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.valueMap:Ljava/util/Map;
            aload 3 /* attrId */
            aload 6 /* values */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // byte[][] values
        end local 5 // javax.naming.directory.Attribute attr
        end local 3 // java.lang.String attrId
        51: .line 350
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 46
        52: .line 356
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.valueMap:Ljava/util/Map;
            areturn
        end local 2 // javax.naming.directory.Attributes attrs
        end local 1 // java.lang.String[] attrIds
        end local 0 // sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   53     0     this  Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl$LDAPRequest;
            9   53     1  attrIds  [Ljava/lang/String;
           13   14     2    attrs  Ljavax/naming/directory/Attributes;
           31   33     2    attrs  Ljavax/naming/directory/Attributes;
           45   53     2    attrs  Ljavax/naming/directory/Attributes;
           15   40     3      lre  Lcom/sun/jndi/ldap/LdapReferralException;
           16   23     4  newName  Ljava/lang/String;
           17   23     5   newUri  Ljava/net/URI;
           20   23     6    newDn  Ljava/lang/String;
           30   40     4   refCtx  Ljavax/naming/ldap/LdapContext;
           34   37     5       re  Lcom/sun/jndi/ldap/LdapReferralException;
           41   43     3       ce  Ljavax/naming/CommunicationException;
           47   51     3   attrId  Ljava/lang/String;
           48   51     5     attr  Ljavax/naming/directory/Attribute;
           49   51     6   values  [[B
      Exception table:
        from    to  target  type
          12    13      14  Class com.sun.jndi.ldap.LdapReferralException
          15    23      24  Class java.lang.Exception
          30    31      33  Class com.sun.jndi.ldap.LdapReferralException
          30    31      37  any
          33    35      37  any
          12    13      40  Class javax.naming.CommunicationException
          12    13      43  Class javax.naming.NameNotFoundException
    Exceptions:
      throws javax.naming.NamingException
    Signature: ()Ljava/util/Map<Ljava/lang/String;[[B>;

  private void cacheAttribute(java.lang.String, byte[][]);
    descriptor: (Ljava/lang/String;[[B)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest this
        start local 1 // java.lang.String attrId
        start local 2 // byte[][] values
         0: .line 363
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.name: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;
            aload 1 /* attrId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* cacheKey */
        start local 3 // java.lang.String cacheKey
         1: .line 364
            aload 0 /* this */
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl;
            getfield sun.security.provider.certpath.ldap.LDAPCertStoreImpl.valueCache:Lsun/security/util/Cache;
            aload 3 /* cacheKey */
            aload 2 /* values */
            invokevirtual sun.security.util.Cache.put:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 365
            return
        end local 3 // java.lang.String cacheKey
        end local 2 // byte[][] values
        end local 1 // java.lang.String attrId
        end local 0 // sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl$LDAPRequest;
            0    3     1    attrId  Ljava/lang/String;
            0    3     2    values  [[B
            1    3     3  cacheKey  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      attrId  
      values  

  private byte[][] getAttributeValues(javax.naming.directory.Attribute);
    descriptor: (Ljavax/naming/directory/Attribute;)[[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest this
        start local 1 // javax.naming.directory.Attribute attr
         0: .line 375
            aload 1 /* attr */
            ifnonnull 3
         1: .line 376
            getstatic sun.security.provider.certpath.ldap.LDAPCertStoreImpl.BB0:[[B
            astore 2 /* values */
        start local 2 // byte[][] values
         2: .line 377
            goto 16
        end local 2 // byte[][] values
         3: .line 378
      StackMap locals:
      StackMap stack:
            aload 1 /* attr */
            invokeinterface javax.naming.directory.Attribute.size:()I
            anewarray byte[]
            astore 2 /* values */
        start local 2 // byte[][] values
         4: .line 379
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: .line 380
            aload 1 /* attr */
            invokeinterface javax.naming.directory.Attribute.getAll:()Ljavax/naming/NamingEnumeration;
            astore 4 /* enum_ */
        start local 4 // javax.naming.NamingEnumeration enum_
         6: .line 381
            goto 15
         7: .line 382
      StackMap locals: byte[][] int javax.naming.NamingEnumeration
      StackMap stack:
            aload 4 /* enum_ */
            invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
            astore 5 /* obj */
        start local 5 // java.lang.Object obj
         8: .line 383
            getstatic sun.security.provider.certpath.ldap.LDAPCertStoreImpl.debug:Lsun/security/util/Debug;
            ifnull 13
         9: .line 384
            aload 5 /* obj */
            instanceof java.lang.String
            ifeq 13
        10: .line 385
            getstatic sun.security.provider.certpath.ldap.LDAPCertStoreImpl.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "LDAPCertStore.getAttrValues() enum.next is a string!: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 386
            aload 5 /* obj */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 385
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        13: .line 389
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 5 /* obj */
            checkcast byte[]
            astore 6 /* value */
        start local 6 // byte[] value
        14: .line 390
            aload 2 /* values */
            iload 3 /* i */
            iinc 3 /* i */ 1
            aload 6 /* value */
            aastore
        end local 6 // byte[] value
        end local 5 // java.lang.Object obj
        15: .line 381
      StackMap locals:
      StackMap stack:
            aload 4 /* enum_ */
            invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
            ifne 7
        end local 4 // javax.naming.NamingEnumeration enum_
        end local 3 // int i
        16: .line 393
      StackMap locals:
      StackMap stack:
            aload 2 /* values */
            areturn
        end local 2 // byte[][] values
        end local 1 // javax.naming.directory.Attribute attr
        end local 0 // sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Lsun/security/provider/certpath/ldap/LDAPCertStoreImpl$LDAPRequest;
            0   17     1    attr  Ljavax/naming/directory/Attribute;
            2    3     2  values  [[B
            4   17     2  values  [[B
            5   16     3       i  I
            6   16     4   enum_  Ljavax/naming/NamingEnumeration<*>;
            8   15     5     obj  Ljava/lang/Object;
           14   15     6   value  [B
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      attr  
}
SourceFile: "LDAPCertStoreImpl.java"
NestHost: sun.security.provider.certpath.ldap.LDAPCertStoreImpl
InnerClasses:
  private LDAPRequest = sun.security.provider.certpath.ldap.LDAPCertStoreImpl$LDAPRequest of sun.security.provider.certpath.ldap.LDAPCertStoreImpl