public class org.bouncycastle.cert.AttributeCertificateHolder implements org.bouncycastle.util.Selector
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.cert.AttributeCertificateHolder
  super_class: java.lang.Object
{
  private static org.bouncycastle.operator.DigestCalculatorProvider digestCalculatorProvider;
    descriptor: Lorg/bouncycastle/operator/DigestCalculatorProvider;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  final org.bouncycastle.asn1.x509.Holder holder;
    descriptor: Lorg/bouncycastle/asn1/x509/Holder;
    flags: (0x0010) ACC_FINAL

  void <init>(org.bouncycastle.asn1.ASN1Sequence);
    descriptor: (Lorg/bouncycastle/asn1/ASN1Sequence;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
        start local 1 // org.bouncycastle.asn1.ASN1Sequence seq
         0: .line 51
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 53
            aload 0 /* this */
            aload 1 /* seq */
            invokestatic org.bouncycastle.asn1.x509.Holder.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/Holder;
            putfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
         2: .line 54
            return
        end local 1 // org.bouncycastle.asn1.ASN1Sequence seq
        end local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/cert/AttributeCertificateHolder;
            0    3     1   seq  Lorg/bouncycastle/asn1/ASN1Sequence;
    MethodParameters:
      Name  Flags
      seq   

  public void <init>(org.bouncycastle.asn1.x500.X500Name, java.math.BigInteger);
    descriptor: (Lorg/bouncycastle/asn1/x500/X500Name;Ljava/math/BigInteger;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=3, args_size=3
        start local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
        start local 1 // org.bouncycastle.asn1.x500.X500Name issuerName
        start local 2 // java.math.BigInteger serialNumber
         0: .line 62
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 65
            aload 0 /* this */
            new org.bouncycastle.asn1.x509.Holder
            dup
            new org.bouncycastle.asn1.x509.IssuerSerial
            dup
         2: .line 66
            aload 0 /* this */
            aload 1 /* issuerName */
            invokevirtual org.bouncycastle.cert.AttributeCertificateHolder.generateGeneralNames:(Lorg/bouncycastle/asn1/x500/X500Name;)Lorg/bouncycastle/asn1/x509/GeneralNames;
         3: .line 67
            new org.bouncycastle.asn1.ASN1Integer
            dup
            aload 2 /* serialNumber */
            invokespecial org.bouncycastle.asn1.ASN1Integer.<init>:(Ljava/math/BigInteger;)V
            invokespecial org.bouncycastle.asn1.x509.IssuerSerial.<init>:(Lorg/bouncycastle/asn1/x509/GeneralNames;Lorg/bouncycastle/asn1/ASN1Integer;)V
            invokespecial org.bouncycastle.asn1.x509.Holder.<init>:(Lorg/bouncycastle/asn1/x509/IssuerSerial;)V
         4: .line 65
            putfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
         5: .line 68
            return
        end local 2 // java.math.BigInteger serialNumber
        end local 1 // org.bouncycastle.asn1.x500.X500Name issuerName
        end local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/bouncycastle/cert/AttributeCertificateHolder;
            0    6     1    issuerName  Lorg/bouncycastle/asn1/x500/X500Name;
            0    6     2  serialNumber  Ljava/math/BigInteger;
    MethodParameters:
              Name  Flags
      issuerName    
      serialNumber  

  public void <init>(org.bouncycastle.cert.X509CertificateHolder);
    descriptor: (Lorg/bouncycastle/cert/X509CertificateHolder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
        start local 1 // org.bouncycastle.cert.X509CertificateHolder cert
         0: .line 75
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 77
            aload 0 /* this */
            new org.bouncycastle.asn1.x509.Holder
            dup
            new org.bouncycastle.asn1.x509.IssuerSerial
            dup
            aload 0 /* this */
            aload 1 /* cert */
            invokevirtual org.bouncycastle.cert.X509CertificateHolder.getIssuer:()Lorg/bouncycastle/asn1/x500/X500Name;
            invokevirtual org.bouncycastle.cert.AttributeCertificateHolder.generateGeneralNames:(Lorg/bouncycastle/asn1/x500/X500Name;)Lorg/bouncycastle/asn1/x509/GeneralNames;
         2: .line 78
            new org.bouncycastle.asn1.ASN1Integer
            dup
            aload 1 /* cert */
            invokevirtual org.bouncycastle.cert.X509CertificateHolder.getSerialNumber:()Ljava/math/BigInteger;
            invokespecial org.bouncycastle.asn1.ASN1Integer.<init>:(Ljava/math/BigInteger;)V
            invokespecial org.bouncycastle.asn1.x509.IssuerSerial.<init>:(Lorg/bouncycastle/asn1/x509/GeneralNames;Lorg/bouncycastle/asn1/ASN1Integer;)V
            invokespecial org.bouncycastle.asn1.x509.Holder.<init>:(Lorg/bouncycastle/asn1/x509/IssuerSerial;)V
         3: .line 77
            putfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
         4: .line 79
            return
        end local 1 // org.bouncycastle.cert.X509CertificateHolder cert
        end local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/bouncycastle/cert/AttributeCertificateHolder;
            0    5     1  cert  Lorg/bouncycastle/cert/X509CertificateHolder;
    MethodParameters:
      Name  Flags
      cert  

  public void <init>(org.bouncycastle.asn1.x500.X500Name);
    descriptor: (Lorg/bouncycastle/asn1/x500/X500Name;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
        start local 1 // org.bouncycastle.asn1.x500.X500Name principal
         0: .line 86
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 88
            aload 0 /* this */
            new org.bouncycastle.asn1.x509.Holder
            dup
            aload 0 /* this */
            aload 1 /* principal */
            invokevirtual org.bouncycastle.cert.AttributeCertificateHolder.generateGeneralNames:(Lorg/bouncycastle/asn1/x500/X500Name;)Lorg/bouncycastle/asn1/x509/GeneralNames;
            invokespecial org.bouncycastle.asn1.x509.Holder.<init>:(Lorg/bouncycastle/asn1/x509/GeneralNames;)V
            putfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
         2: .line 89
            return
        end local 1 // org.bouncycastle.asn1.x500.X500Name principal
        end local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/bouncycastle/cert/AttributeCertificateHolder;
            0    3     1  principal  Lorg/bouncycastle/asn1/x500/X500Name;
    MethodParameters:
           Name  Flags
      principal  

  public void <init>(int, org.bouncycastle.asn1.ASN1ObjectIdentifier, org.bouncycastle.asn1.ASN1ObjectIdentifier, byte[]);
    descriptor: (ILorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=5, args_size=5
        start local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
        start local 1 // int digestedObjectType
        start local 2 // org.bouncycastle.asn1.ASN1ObjectIdentifier digestAlgorithm
        start local 3 // org.bouncycastle.asn1.ASN1ObjectIdentifier otherObjectTypeID
        start local 4 // byte[] objectDigest
         0: .line 114
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 117
            aload 0 /* this */
            new org.bouncycastle.asn1.x509.Holder
            dup
            new org.bouncycastle.asn1.x509.ObjectDigestInfo
            dup
            iload 1 /* digestedObjectType */
         2: .line 118
            aload 3 /* otherObjectTypeID */
            new org.bouncycastle.asn1.x509.AlgorithmIdentifier
            dup
            aload 2 /* digestAlgorithm */
            invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)V
         3: .line 119
            aload 4 /* objectDigest */
            invokestatic org.bouncycastle.util.Arrays.clone:([B)[B
            invokespecial org.bouncycastle.asn1.x509.ObjectDigestInfo.<init>:(ILorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)V
            invokespecial org.bouncycastle.asn1.x509.Holder.<init>:(Lorg/bouncycastle/asn1/x509/ObjectDigestInfo;)V
         4: .line 117
            putfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
         5: .line 120
            return
        end local 4 // byte[] objectDigest
        end local 3 // org.bouncycastle.asn1.ASN1ObjectIdentifier otherObjectTypeID
        end local 2 // org.bouncycastle.asn1.ASN1ObjectIdentifier digestAlgorithm
        end local 1 // int digestedObjectType
        end local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Lorg/bouncycastle/cert/AttributeCertificateHolder;
            0    6     1  digestedObjectType  I
            0    6     2     digestAlgorithm  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            0    6     3   otherObjectTypeID  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            0    6     4        objectDigest  [B
    MethodParameters:
                    Name  Flags
      digestedObjectType  
      digestAlgorithm     
      otherObjectTypeID   
      objectDigest        

  public int getDigestedObjectType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
         0: .line 138
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getObjectDigestInfo:()Lorg/bouncycastle/asn1/x509/ObjectDigestInfo;
            ifnull 4
         1: .line 140
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getObjectDigestInfo:()Lorg/bouncycastle/asn1/x509/ObjectDigestInfo;
            invokevirtual org.bouncycastle.asn1.x509.ObjectDigestInfo.getDigestedObjectType:()Lorg/bouncycastle/asn1/ASN1Enumerated;
         2: .line 141
            invokevirtual org.bouncycastle.asn1.ASN1Enumerated.getValue:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.intValue:()I
         3: .line 140
            ireturn
         4: .line 143
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/bouncycastle/cert/AttributeCertificateHolder;

  public org.bouncycastle.asn1.x509.AlgorithmIdentifier getDigestAlgorithm();
    descriptor: ()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
         0: .line 153
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getObjectDigestInfo:()Lorg/bouncycastle/asn1/x509/ObjectDigestInfo;
            ifnull 2
         1: .line 155
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getObjectDigestInfo:()Lorg/bouncycastle/asn1/x509/ObjectDigestInfo;
            invokevirtual org.bouncycastle.asn1.x509.ObjectDigestInfo.getDigestAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            areturn
         2: .line 157
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/cert/AttributeCertificateHolder;

  public byte[] getObjectDigest();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
         0: .line 167
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getObjectDigestInfo:()Lorg/bouncycastle/asn1/x509/ObjectDigestInfo;
            ifnull 2
         1: .line 169
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getObjectDigestInfo:()Lorg/bouncycastle/asn1/x509/ObjectDigestInfo;
            invokevirtual org.bouncycastle.asn1.x509.ObjectDigestInfo.getObjectDigest:()Lorg/bouncycastle/asn1/DERBitString;
            invokevirtual org.bouncycastle.asn1.DERBitString.getBytes:()[B
            areturn
         2: .line 171
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/cert/AttributeCertificateHolder;

  public org.bouncycastle.asn1.ASN1ObjectIdentifier getOtherObjectTypeID();
    descriptor: ()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
         0: .line 182
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getObjectDigestInfo:()Lorg/bouncycastle/asn1/x509/ObjectDigestInfo;
            ifnull 2
         1: .line 184
            new org.bouncycastle.asn1.ASN1ObjectIdentifier
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getObjectDigestInfo:()Lorg/bouncycastle/asn1/x509/ObjectDigestInfo;
            invokevirtual org.bouncycastle.asn1.x509.ObjectDigestInfo.getOtherObjectTypeID:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            invokespecial org.bouncycastle.asn1.ASN1ObjectIdentifier.<init>:(Ljava/lang/String;)V
         2: .line 186
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/cert/AttributeCertificateHolder;

  private org.bouncycastle.asn1.x509.GeneralNames generateGeneralNames(org.bouncycastle.asn1.x500.X500Name);
    descriptor: (Lorg/bouncycastle/asn1/x500/X500Name;)Lorg/bouncycastle/asn1/x509/GeneralNames;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
        start local 1 // org.bouncycastle.asn1.x500.X500Name principal
         0: .line 191
            new org.bouncycastle.asn1.x509.GeneralNames
            dup
            new org.bouncycastle.asn1.x509.GeneralName
            dup
            aload 1 /* principal */
            invokespecial org.bouncycastle.asn1.x509.GeneralName.<init>:(Lorg/bouncycastle/asn1/x500/X500Name;)V
            invokespecial org.bouncycastle.asn1.x509.GeneralNames.<init>:(Lorg/bouncycastle/asn1/x509/GeneralName;)V
            areturn
        end local 1 // org.bouncycastle.asn1.x500.X500Name principal
        end local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/bouncycastle/cert/AttributeCertificateHolder;
            0    1     1  principal  Lorg/bouncycastle/asn1/x500/X500Name;
    MethodParameters:
           Name  Flags
      principal  

  private boolean matchesDN(org.bouncycastle.asn1.x500.X500Name, org.bouncycastle.asn1.x509.GeneralNames);
    descriptor: (Lorg/bouncycastle/asn1/x500/X500Name;Lorg/bouncycastle/asn1/x509/GeneralNames;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
        start local 1 // org.bouncycastle.asn1.x500.X500Name subject
        start local 2 // org.bouncycastle.asn1.x509.GeneralNames targets
         0: .line 196
            aload 2 /* targets */
            invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
            astore 3 /* names */
        start local 3 // org.bouncycastle.asn1.x509.GeneralName[] names
         1: .line 198
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 8
         3: .line 200
      StackMap locals: org.bouncycastle.asn1.x509.GeneralName[] int
      StackMap stack:
            aload 3 /* names */
            iload 4 /* i */
            aaload
            astore 5 /* gn */
        start local 5 // org.bouncycastle.asn1.x509.GeneralName gn
         4: .line 202
            aload 5 /* gn */
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getTagNo:()I
            iconst_4
            if_icmpne 7
         5: .line 204
            aload 5 /* gn */
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
            aload 1 /* subject */
            invokevirtual org.bouncycastle.asn1.x500.X500Name.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 206
            iconst_1
            ireturn
        end local 5 // org.bouncycastle.asn1.x509.GeneralName gn
         7: .line 198
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 3 /* names */
            arraylength
            if_icmpne 3
        end local 4 // int i
         9: .line 211
            iconst_0
            ireturn
        end local 3 // org.bouncycastle.asn1.x509.GeneralName[] names
        end local 2 // org.bouncycastle.asn1.x509.GeneralNames targets
        end local 1 // org.bouncycastle.asn1.x500.X500Name subject
        end local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/bouncycastle/cert/AttributeCertificateHolder;
            0   10     1  subject  Lorg/bouncycastle/asn1/x500/X500Name;
            0   10     2  targets  Lorg/bouncycastle/asn1/x509/GeneralNames;
            1   10     3    names  [Lorg/bouncycastle/asn1/x509/GeneralName;
            2    9     4        i  I
            4    7     5       gn  Lorg/bouncycastle/asn1/x509/GeneralName;
    MethodParameters:
         Name  Flags
      subject  
      targets  

  private org.bouncycastle.asn1.x500.X500Name[] getPrincipals(org.bouncycastle.asn1.x509.GeneralName[]);
    descriptor: ([Lorg/bouncycastle/asn1/x509/GeneralName;)[Lorg/bouncycastle/asn1/x500/X500Name;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
        start local 1 // org.bouncycastle.asn1.x509.GeneralName[] names
         0: .line 216
            new java.util.ArrayList
            dup
            aload 1 /* names */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* l */
        start local 2 // java.util.List l
         1: .line 218
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 6
         3: .line 220
      StackMap locals: java.util.List int
      StackMap stack:
            aload 1 /* names */
            iload 3 /* i */
            aaload
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getTagNo:()I
            iconst_4
            if_icmpne 5
         4: .line 222
            aload 2 /* l */
            aload 1 /* names */
            iload 3 /* i */
            aaload
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 218
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 1 /* names */
            arraylength
            if_icmpne 3
        end local 3 // int i
         7: .line 226
            aload 2 /* l */
            aload 2 /* l */
            invokeinterface java.util.List.size:()I
            anewarray org.bouncycastle.asn1.x500.X500Name
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.bouncycastle.asn1.x500.X500Name[]
            areturn
        end local 2 // java.util.List l
        end local 1 // org.bouncycastle.asn1.x509.GeneralName[] names
        end local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/bouncycastle/cert/AttributeCertificateHolder;
            0    8     1  names  [Lorg/bouncycastle/asn1/x509/GeneralName;
            1    8     2      l  Ljava/util/List;
            2    7     3      i  I
    MethodParameters:
       Name  Flags
      names  

  public org.bouncycastle.asn1.x500.X500Name[] getEntityNames();
    descriptor: ()[Lorg/bouncycastle/asn1/x500/X500Name;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
         0: .line 238
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getEntityName:()Lorg/bouncycastle/asn1/x509/GeneralNames;
            ifnull 2
         1: .line 240
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getEntityName:()Lorg/bouncycastle/asn1/x509/GeneralNames;
            invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
            invokevirtual org.bouncycastle.cert.AttributeCertificateHolder.getPrincipals:([Lorg/bouncycastle/asn1/x509/GeneralName;)[Lorg/bouncycastle/asn1/x500/X500Name;
            areturn
         2: .line 243
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/cert/AttributeCertificateHolder;

  public org.bouncycastle.asn1.x500.X500Name[] getIssuer();
    descriptor: ()[Lorg/bouncycastle/asn1/x500/X500Name;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
         0: .line 253
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getBaseCertificateID:()Lorg/bouncycastle/asn1/x509/IssuerSerial;
            ifnull 2
         1: .line 255
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getBaseCertificateID:()Lorg/bouncycastle/asn1/x509/IssuerSerial;
            invokevirtual org.bouncycastle.asn1.x509.IssuerSerial.getIssuer:()Lorg/bouncycastle/asn1/x509/GeneralNames;
            invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
            invokevirtual org.bouncycastle.cert.AttributeCertificateHolder.getPrincipals:([Lorg/bouncycastle/asn1/x509/GeneralName;)[Lorg/bouncycastle/asn1/x500/X500Name;
            areturn
         2: .line 258
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/cert/AttributeCertificateHolder;

  public java.math.BigInteger getSerialNumber();
    descriptor: ()Ljava/math/BigInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
         0: .line 270
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getBaseCertificateID:()Lorg/bouncycastle/asn1/x509/IssuerSerial;
            ifnull 2
         1: .line 272
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getBaseCertificateID:()Lorg/bouncycastle/asn1/x509/IssuerSerial;
            invokevirtual org.bouncycastle.asn1.x509.IssuerSerial.getSerial:()Lorg/bouncycastle/asn1/ASN1Integer;
            invokevirtual org.bouncycastle.asn1.ASN1Integer.getValue:()Ljava/math/BigInteger;
            areturn
         2: .line 275
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/cert/AttributeCertificateHolder;

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
         0: .line 280
            new org.bouncycastle.cert.AttributeCertificateHolder
            dup
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
            checkcast org.bouncycastle.asn1.ASN1Sequence
            invokespecial org.bouncycastle.cert.AttributeCertificateHolder.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
            areturn
        end local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cert/AttributeCertificateHolder;

  public boolean match(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
        start local 1 // java.lang.Object obj
         0: .line 285
            aload 1 /* obj */
            instanceof org.bouncycastle.cert.X509CertificateHolder
            ifne 2
         1: .line 287
            iconst_0
            ireturn
         2: .line 290
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast org.bouncycastle.cert.X509CertificateHolder
            astore 2 /* x509Cert */
        start local 2 // org.bouncycastle.cert.X509CertificateHolder x509Cert
         3: .line 292
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getBaseCertificateID:()Lorg/bouncycastle/asn1/x509/IssuerSerial;
            ifnull 8
         4: .line 294
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getBaseCertificateID:()Lorg/bouncycastle/asn1/x509/IssuerSerial;
            invokevirtual org.bouncycastle.asn1.x509.IssuerSerial.getSerial:()Lorg/bouncycastle/asn1/ASN1Integer;
            invokevirtual org.bouncycastle.asn1.ASN1Integer.getValue:()Ljava/math/BigInteger;
            aload 2 /* x509Cert */
            invokevirtual org.bouncycastle.cert.X509CertificateHolder.getSerialNumber:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 295
            aload 0 /* this */
            aload 2 /* x509Cert */
            invokevirtual org.bouncycastle.cert.X509CertificateHolder.getIssuer:()Lorg/bouncycastle/asn1/x500/X500Name;
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getBaseCertificateID:()Lorg/bouncycastle/asn1/x509/IssuerSerial;
            invokevirtual org.bouncycastle.asn1.x509.IssuerSerial.getIssuer:()Lorg/bouncycastle/asn1/x509/GeneralNames;
            invokevirtual org.bouncycastle.cert.AttributeCertificateHolder.matchesDN:(Lorg/bouncycastle/asn1/x500/X500Name;Lorg/bouncycastle/asn1/x509/GeneralNames;)Z
            ifeq 7
         6: .line 294
            iconst_1
            ireturn
      StackMap locals: org.bouncycastle.cert.X509CertificateHolder
      StackMap stack:
         7: iconst_0
            ireturn
         8: .line 298
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getEntityName:()Lorg/bouncycastle/asn1/x509/GeneralNames;
            ifnull 14
         9: .line 300
            aload 0 /* this */
            aload 2 /* x509Cert */
            invokevirtual org.bouncycastle.cert.X509CertificateHolder.getSubject:()Lorg/bouncycastle/asn1/x500/X500Name;
        10: .line 301
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getEntityName:()Lorg/bouncycastle/asn1/x509/GeneralNames;
        11: .line 300
            invokevirtual org.bouncycastle.cert.AttributeCertificateHolder.matchesDN:(Lorg/bouncycastle/asn1/x500/X500Name;Lorg/bouncycastle/asn1/x509/GeneralNames;)Z
        12: .line 301
            ifeq 14
        13: .line 303
            iconst_1
            ireturn
        14: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getObjectDigestInfo:()Lorg/bouncycastle/asn1/x509/ObjectDigestInfo;
            ifnull 26
        15: .line 311
            getstatic org.bouncycastle.cert.AttributeCertificateHolder.digestCalculatorProvider:Lorg/bouncycastle/operator/DigestCalculatorProvider;
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.getObjectDigestInfo:()Lorg/bouncycastle/asn1/x509/ObjectDigestInfo;
            invokevirtual org.bouncycastle.asn1.x509.ObjectDigestInfo.getDigestAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokeinterface org.bouncycastle.operator.DigestCalculatorProvider.get:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Lorg/bouncycastle/operator/DigestCalculator;
            astore 3 /* digCalc */
        start local 3 // org.bouncycastle.operator.DigestCalculator digCalc
        16: .line 312
            aload 3 /* digCalc */
            invokeinterface org.bouncycastle.operator.DigestCalculator.getOutputStream:()Ljava/io/OutputStream;
            astore 4 /* digOut */
        start local 4 // java.io.OutputStream digOut
        17: .line 314
            aload 0 /* this */
            invokevirtual org.bouncycastle.cert.AttributeCertificateHolder.getDigestedObjectType:()I
            tableswitch { // 0 - 1
                    0: 18
                    1: 20
              default: 21
          }
        18: .line 318
      StackMap locals: org.bouncycastle.operator.DigestCalculator java.io.OutputStream
      StackMap stack:
            aload 4 /* digOut */
            aload 2 /* x509Cert */
            invokevirtual org.bouncycastle.cert.X509CertificateHolder.getSubjectPublicKeyInfo:()Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
            invokevirtual org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getEncoded:()[B
            invokevirtual java.io.OutputStream.write:([B)V
        19: .line 319
            goto 21
        20: .line 321
      StackMap locals:
      StackMap stack:
            aload 4 /* digOut */
            aload 2 /* x509Cert */
            invokevirtual org.bouncycastle.cert.X509CertificateHolder.getEncoded:()[B
            invokevirtual java.io.OutputStream.write:([B)V
        21: .line 325
      StackMap locals:
      StackMap stack:
            aload 4 /* digOut */
            invokevirtual java.io.OutputStream.close:()V
        22: .line 327
            aload 3 /* digCalc */
            invokeinterface org.bouncycastle.operator.DigestCalculator.getDigest:()[B
            aload 0 /* this */
            invokevirtual org.bouncycastle.cert.AttributeCertificateHolder.getObjectDigest:()[B
            invokestatic org.bouncycastle.util.Arrays.areEqual:([B[B)Z
            ifne 26
        23: .line 329
            iconst_0
            ireturn
        end local 4 // java.io.OutputStream digOut
        end local 3 // org.bouncycastle.operator.DigestCalculator digCalc
        24: .line 332
      StackMap locals: org.bouncycastle.cert.AttributeCertificateHolder java.lang.Object org.bouncycastle.cert.X509CertificateHolder
      StackMap stack: java.lang.Exception
            pop
        25: .line 334
            iconst_0
            ireturn
        26: .line 338
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.bouncycastle.cert.X509CertificateHolder x509Cert
        end local 1 // java.lang.Object obj
        end local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   27     0      this  Lorg/bouncycastle/cert/AttributeCertificateHolder;
            0   27     1       obj  Ljava/lang/Object;
            3   27     2  x509Cert  Lorg/bouncycastle/cert/X509CertificateHolder;
           16   24     3   digCalc  Lorg/bouncycastle/operator/DigestCalculator;
           17   24     4    digOut  Ljava/io/OutputStream;
      Exception table:
        from    to  target  type
          15    23      24  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      obj   

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
        start local 1 // java.lang.Object obj
         0: .line 343
            aload 1 /* obj */
            aload 0 /* this */
            if_acmpne 2
         1: .line 345
            iconst_1
            ireturn
         2: .line 348
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof org.bouncycastle.cert.AttributeCertificateHolder
            ifne 4
         3: .line 350
            iconst_0
            ireturn
         4: .line 353
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast org.bouncycastle.cert.AttributeCertificateHolder
            astore 2 /* other */
        start local 2 // org.bouncycastle.cert.AttributeCertificateHolder other
         5: .line 355
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            aload 2 /* other */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // org.bouncycastle.cert.AttributeCertificateHolder other
        end local 1 // java.lang.Object obj
        end local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/bouncycastle/cert/AttributeCertificateHolder;
            0    6     1    obj  Ljava/lang/Object;
            5    6     2  other  Lorg/bouncycastle/cert/AttributeCertificateHolder;
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
         0: .line 360
            aload 0 /* this */
            getfield org.bouncycastle.cert.AttributeCertificateHolder.holder:Lorg/bouncycastle/asn1/x509/Holder;
            invokevirtual org.bouncycastle.asn1.x509.Holder.hashCode:()I
            ireturn
        end local 0 // org.bouncycastle.cert.AttributeCertificateHolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cert/AttributeCertificateHolder;

  public static void setDigestCalculatorProvider(org.bouncycastle.operator.DigestCalculatorProvider);
    descriptor: (Lorg/bouncycastle/operator/DigestCalculatorProvider;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.operator.DigestCalculatorProvider digCalcProvider
         0: .line 371
            aload 0 /* digCalcProvider */
            putstatic org.bouncycastle.cert.AttributeCertificateHolder.digestCalculatorProvider:Lorg/bouncycastle/operator/DigestCalculatorProvider;
         1: .line 372
            return
        end local 0 // org.bouncycastle.operator.DigestCalculatorProvider digCalcProvider
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0  digCalcProvider  Lorg/bouncycastle/operator/DigestCalculatorProvider;
    MethodParameters:
                 Name  Flags
      digCalcProvider  
}
SourceFile: "AttributeCertificateHolder.java"