public class org.bouncycastle.jce.provider.JDKX509CertificateFactory extends java.security.cert.CertificateFactorySpi
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.jce.provider.JDKX509CertificateFactory
  super_class: java.security.cert.CertificateFactorySpi
{
  private static final org.bouncycastle.jce.provider.PEMUtil PEM_CERT_PARSER;
    descriptor: Lorg/bouncycastle/jce/provider/PEMUtil;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.bouncycastle.jce.provider.PEMUtil PEM_CRL_PARSER;
    descriptor: Lorg/bouncycastle/jce/provider/PEMUtil;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private org.bouncycastle.asn1.ASN1Set sData;
    descriptor: Lorg/bouncycastle/asn1/ASN1Set;
    flags: (0x0002) ACC_PRIVATE

  private int sDataObjectCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.io.InputStream currentStream;
    descriptor: Ljava/io/InputStream;
    flags: (0x0002) ACC_PRIVATE

  private org.bouncycastle.asn1.ASN1Set sCrlData;
    descriptor: Lorg/bouncycastle/asn1/ASN1Set;
    flags: (0x0002) ACC_PRIVATE

  private int sCrlDataObjectCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.io.InputStream currentCrlStream;
    descriptor: Ljava/io/InputStream;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 39
            new org.bouncycastle.jce.provider.PEMUtil
            dup
            ldc "CERTIFICATE"
            invokespecial org.bouncycastle.jce.provider.PEMUtil.<init>:(Ljava/lang/String;)V
            putstatic org.bouncycastle.jce.provider.JDKX509CertificateFactory.PEM_CERT_PARSER:Lorg/bouncycastle/jce/provider/PEMUtil;
         1: .line 40
            new org.bouncycastle.jce.provider.PEMUtil
            dup
            ldc "CRL"
            invokespecial org.bouncycastle.jce.provider.PEMUtil.<init>:(Ljava/lang/String;)V
            putstatic org.bouncycastle.jce.provider.JDKX509CertificateFactory.PEM_CRL_PARSER:Lorg/bouncycastle/jce/provider/PEMUtil;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
         0: .line 36
            aload 0 /* this */
            invokespecial java.security.cert.CertificateFactorySpi.<init>:()V
         1: .line 42
            aload 0 /* this */
            aconst_null
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sData:Lorg/bouncycastle/asn1/ASN1Set;
         2: .line 43
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sDataObjectCount:I
         3: .line 44
            aload 0 /* this */
            aconst_null
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.currentStream:Ljava/io/InputStream;
         4: .line 46
            aload 0 /* this */
            aconst_null
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sCrlData:Lorg/bouncycastle/asn1/ASN1Set;
         5: .line 47
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sCrlDataObjectCount:I
         6: .line 48
            aload 0 /* this */
            aconst_null
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.currentCrlStream:Ljava/io/InputStream;
         7: .line 36
            return
        end local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/bouncycastle/jce/provider/JDKX509CertificateFactory;

  private java.security.cert.Certificate readDERCertificate(org.bouncycastle.asn1.ASN1InputStream);
    descriptor: (Lorg/bouncycastle/asn1/ASN1InputStream;)Ljava/security/cert/Certificate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
        start local 1 // org.bouncycastle.asn1.ASN1InputStream dIn
         0: .line 54
            aload 1 /* dIn */
            invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
            checkcast org.bouncycastle.asn1.ASN1Sequence
            astore 2 /* seq */
        start local 2 // org.bouncycastle.asn1.ASN1Sequence seq
         1: .line 56
            aload 2 /* seq */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
            iconst_1
            if_icmple 10
         2: .line 57
            aload 2 /* seq */
            iconst_0
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            instanceof org.bouncycastle.asn1.DERObjectIdentifier
            ifeq 10
         3: .line 59
            aload 2 /* seq */
            iconst_0
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.signedData:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 10
         4: .line 61
            aload 0 /* this */
            new org.bouncycastle.asn1.pkcs.SignedData
            dup
         5: .line 62
            aload 2 /* seq */
            iconst_1
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            checkcast org.bouncycastle.asn1.ASN1TaggedObject
            iconst_1
         6: .line 61
            invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/ASN1Sequence;
            invokespecial org.bouncycastle.asn1.pkcs.SignedData.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
         7: .line 62
            invokevirtual org.bouncycastle.asn1.pkcs.SignedData.getCertificates:()Lorg/bouncycastle/asn1/ASN1Set;
         8: .line 61
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sData:Lorg/bouncycastle/asn1/ASN1Set;
         9: .line 64
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JDKX509CertificateFactory.getCertificate:()Ljava/security/cert/Certificate;
            areturn
        10: .line 68
      StackMap locals: org.bouncycastle.asn1.ASN1Sequence
      StackMap stack:
            new org.bouncycastle.jce.provider.X509CertificateObject
            dup
        11: .line 69
            aload 2 /* seq */
            invokestatic org.bouncycastle.asn1.x509.X509CertificateStructure.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
        12: .line 68
            invokespecial org.bouncycastle.jce.provider.X509CertificateObject.<init>:(Lorg/bouncycastle/asn1/x509/X509CertificateStructure;)V
            areturn
        end local 2 // org.bouncycastle.asn1.ASN1Sequence seq
        end local 1 // org.bouncycastle.asn1.ASN1InputStream dIn
        end local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/bouncycastle/jce/provider/JDKX509CertificateFactory;
            0   13     1   dIn  Lorg/bouncycastle/asn1/ASN1InputStream;
            1   13     2   seq  Lorg/bouncycastle/asn1/ASN1Sequence;
    Exceptions:
      throws java.io.IOException, java.security.cert.CertificateParsingException
    MethodParameters:
      Name  Flags
      dIn   

  private java.security.cert.Certificate getCertificate();
    descriptor: ()Ljava/security/cert/Certificate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
         0: .line 75
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sData:Lorg/bouncycastle/asn1/ASN1Set;
            ifnull 8
         1: .line 77
            goto 7
         2: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sData:Lorg/bouncycastle/asn1/ASN1Set;
            aload 0 /* this */
            dup
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sDataObjectCount:I
            dup_x1
            iconst_1
            iadd
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sDataObjectCount:I
            invokevirtual org.bouncycastle.asn1.ASN1Set.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            astore 1 /* obj */
        start local 1 // java.lang.Object obj
         3: .line 81
            aload 1 /* obj */
            instanceof org.bouncycastle.asn1.ASN1Sequence
            ifeq 7
         4: .line 83
            new org.bouncycastle.jce.provider.X509CertificateObject
            dup
         5: .line 84
            aload 1 /* obj */
            invokestatic org.bouncycastle.asn1.x509.X509CertificateStructure.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
         6: .line 83
            invokespecial org.bouncycastle.jce.provider.X509CertificateObject.<init>:(Lorg/bouncycastle/asn1/x509/X509CertificateStructure;)V
            areturn
        end local 1 // java.lang.Object obj
         7: .line 77
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sDataObjectCount:I
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sData:Lorg/bouncycastle/asn1/ASN1Set;
            invokevirtual org.bouncycastle.asn1.ASN1Set.size:()I
            if_icmplt 2
         8: .line 89
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/bouncycastle/jce/provider/JDKX509CertificateFactory;
            3    7     1   obj  Ljava/lang/Object;
    Exceptions:
      throws java.security.cert.CertificateParsingException

  private java.security.cert.Certificate readPEMCertificate(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/security/cert/Certificate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
        start local 1 // java.io.InputStream in
         0: .line 96
            getstatic org.bouncycastle.jce.provider.JDKX509CertificateFactory.PEM_CERT_PARSER:Lorg/bouncycastle/jce/provider/PEMUtil;
            aload 1 /* in */
            invokevirtual org.bouncycastle.jce.provider.PEMUtil.readPEMObject:(Ljava/io/InputStream;)Lorg/bouncycastle/asn1/ASN1Sequence;
            astore 2 /* seq */
        start local 2 // org.bouncycastle.asn1.ASN1Sequence seq
         1: .line 98
            aload 2 /* seq */
            ifnull 5
         2: .line 100
            new org.bouncycastle.jce.provider.X509CertificateObject
            dup
         3: .line 101
            aload 2 /* seq */
            invokestatic org.bouncycastle.asn1.x509.X509CertificateStructure.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
         4: .line 100
            invokespecial org.bouncycastle.jce.provider.X509CertificateObject.<init>:(Lorg/bouncycastle/asn1/x509/X509CertificateStructure;)V
            areturn
         5: .line 104
      StackMap locals: org.bouncycastle.asn1.ASN1Sequence
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.bouncycastle.asn1.ASN1Sequence seq
        end local 1 // java.io.InputStream in
        end local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/bouncycastle/jce/provider/JDKX509CertificateFactory;
            0    6     1    in  Ljava/io/InputStream;
            1    6     2   seq  Lorg/bouncycastle/asn1/ASN1Sequence;
    Exceptions:
      throws java.io.IOException, java.security.cert.CertificateParsingException
    MethodParameters:
      Name  Flags
      in    

  protected java.security.cert.CRL createCRL(org.bouncycastle.asn1.x509.CertificateList);
    descriptor: (Lorg/bouncycastle/asn1/x509/CertificateList;)Ljava/security/cert/CRL;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
        start local 1 // org.bouncycastle.asn1.x509.CertificateList c
         0: .line 110
            new org.bouncycastle.jce.provider.X509CRLObject
            dup
            aload 1 /* c */
            invokespecial org.bouncycastle.jce.provider.X509CRLObject.<init>:(Lorg/bouncycastle/asn1/x509/CertificateList;)V
            areturn
        end local 1 // org.bouncycastle.asn1.x509.CertificateList c
        end local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/jce/provider/JDKX509CertificateFactory;
            0    1     1     c  Lorg/bouncycastle/asn1/x509/CertificateList;
    Exceptions:
      throws java.security.cert.CRLException
    MethodParameters:
      Name  Flags
      c     

  private java.security.cert.CRL readPEMCRL(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/security/cert/CRL;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
        start local 1 // java.io.InputStream in
         0: .line 117
            getstatic org.bouncycastle.jce.provider.JDKX509CertificateFactory.PEM_CRL_PARSER:Lorg/bouncycastle/jce/provider/PEMUtil;
            aload 1 /* in */
            invokevirtual org.bouncycastle.jce.provider.PEMUtil.readPEMObject:(Ljava/io/InputStream;)Lorg/bouncycastle/asn1/ASN1Sequence;
            astore 2 /* seq */
        start local 2 // org.bouncycastle.asn1.ASN1Sequence seq
         1: .line 119
            aload 2 /* seq */
            ifnull 5
         2: .line 121
            aload 0 /* this */
         3: .line 122
            aload 2 /* seq */
            invokestatic org.bouncycastle.asn1.x509.CertificateList.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/CertificateList;
         4: .line 121
            invokevirtual org.bouncycastle.jce.provider.JDKX509CertificateFactory.createCRL:(Lorg/bouncycastle/asn1/x509/CertificateList;)Ljava/security/cert/CRL;
            areturn
         5: .line 125
      StackMap locals: org.bouncycastle.asn1.ASN1Sequence
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.bouncycastle.asn1.ASN1Sequence seq
        end local 1 // java.io.InputStream in
        end local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/bouncycastle/jce/provider/JDKX509CertificateFactory;
            0    6     1    in  Ljava/io/InputStream;
            1    6     2   seq  Lorg/bouncycastle/asn1/ASN1Sequence;
    Exceptions:
      throws java.io.IOException, java.security.cert.CRLException
    MethodParameters:
      Name  Flags
      in    

  private java.security.cert.CRL readDERCRL(org.bouncycastle.asn1.ASN1InputStream);
    descriptor: (Lorg/bouncycastle/asn1/ASN1InputStream;)Ljava/security/cert/CRL;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
        start local 1 // org.bouncycastle.asn1.ASN1InputStream aIn
         0: .line 132
            aload 1 /* aIn */
            invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
            checkcast org.bouncycastle.asn1.ASN1Sequence
            astore 2 /* seq */
        start local 2 // org.bouncycastle.asn1.ASN1Sequence seq
         1: .line 134
            aload 2 /* seq */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
            iconst_1
            if_icmple 10
         2: .line 135
            aload 2 /* seq */
            iconst_0
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            instanceof org.bouncycastle.asn1.DERObjectIdentifier
            ifeq 10
         3: .line 137
            aload 2 /* seq */
            iconst_0
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.signedData:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 10
         4: .line 139
            aload 0 /* this */
            new org.bouncycastle.asn1.pkcs.SignedData
            dup
         5: .line 140
            aload 2 /* seq */
            iconst_1
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            checkcast org.bouncycastle.asn1.ASN1TaggedObject
            iconst_1
         6: .line 139
            invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/ASN1Sequence;
            invokespecial org.bouncycastle.asn1.pkcs.SignedData.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
         7: .line 140
            invokevirtual org.bouncycastle.asn1.pkcs.SignedData.getCRLs:()Lorg/bouncycastle/asn1/ASN1Set;
         8: .line 139
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sCrlData:Lorg/bouncycastle/asn1/ASN1Set;
         9: .line 142
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JDKX509CertificateFactory.getCRL:()Ljava/security/cert/CRL;
            areturn
        10: .line 146
      StackMap locals: org.bouncycastle.asn1.ASN1Sequence
      StackMap stack:
            aload 0 /* this */
        11: .line 147
            aload 2 /* seq */
            invokestatic org.bouncycastle.asn1.x509.CertificateList.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/CertificateList;
        12: .line 146
            invokevirtual org.bouncycastle.jce.provider.JDKX509CertificateFactory.createCRL:(Lorg/bouncycastle/asn1/x509/CertificateList;)Ljava/security/cert/CRL;
            areturn
        end local 2 // org.bouncycastle.asn1.ASN1Sequence seq
        end local 1 // org.bouncycastle.asn1.ASN1InputStream aIn
        end local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/bouncycastle/jce/provider/JDKX509CertificateFactory;
            0   13     1   aIn  Lorg/bouncycastle/asn1/ASN1InputStream;
            1   13     2   seq  Lorg/bouncycastle/asn1/ASN1Sequence;
    Exceptions:
      throws java.io.IOException, java.security.cert.CRLException
    MethodParameters:
      Name  Flags
      aIn   

  private java.security.cert.CRL getCRL();
    descriptor: ()Ljava/security/cert/CRL;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
         0: .line 153
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sCrlData:Lorg/bouncycastle/asn1/ASN1Set;
            ifnull 1
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sCrlDataObjectCount:I
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sCrlData:Lorg/bouncycastle/asn1/ASN1Set;
            invokevirtual org.bouncycastle.asn1.ASN1Set.size:()I
            if_icmplt 2
         1: .line 155
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         3: .line 160
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sCrlData:Lorg/bouncycastle/asn1/ASN1Set;
            aload 0 /* this */
            dup
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sCrlDataObjectCount:I
            dup_x1
            iconst_1
            iadd
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sCrlDataObjectCount:I
            invokevirtual org.bouncycastle.asn1.ASN1Set.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
         4: .line 159
            invokestatic org.bouncycastle.asn1.x509.CertificateList.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/CertificateList;
         5: .line 158
            invokevirtual org.bouncycastle.jce.provider.JDKX509CertificateFactory.createCRL:(Lorg/bouncycastle/asn1/x509/CertificateList;)Ljava/security/cert/CRL;
            areturn
        end local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/bouncycastle/jce/provider/JDKX509CertificateFactory;
    Exceptions:
      throws java.security.cert.CRLException

  public java.security.cert.Certificate engineGenerateCertificate(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/security/cert/Certificate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
        start local 1 // java.io.InputStream in
         0: .line 171
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.currentStream:Ljava/io/InputStream;
            ifnonnull 5
         1: .line 173
            aload 0 /* this */
            aload 1 /* in */
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.currentStream:Ljava/io/InputStream;
         2: .line 174
            aload 0 /* this */
            aconst_null
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sData:Lorg/bouncycastle/asn1/ASN1Set;
         3: .line 175
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sDataObjectCount:I
         4: .line 176
            goto 9
         5: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.currentStream:Ljava/io/InputStream;
            aload 1 /* in */
            if_acmpeq 9
         6: .line 179
            aload 0 /* this */
            aload 1 /* in */
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.currentStream:Ljava/io/InputStream;
         7: .line 180
            aload 0 /* this */
            aconst_null
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sData:Lorg/bouncycastle/asn1/ASN1Set;
         8: .line 181
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sDataObjectCount:I
         9: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sData:Lorg/bouncycastle/asn1/ASN1Set;
            ifnull 16
        10: .line 188
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sDataObjectCount:I
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sData:Lorg/bouncycastle/asn1/ASN1Set;
            invokevirtual org.bouncycastle.asn1.ASN1Set.size:()I
            if_icmpeq 13
        11: .line 190
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JDKX509CertificateFactory.getCertificate:()Ljava/security/cert/Certificate;
        12: areturn
        13: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sData:Lorg/bouncycastle/asn1/ASN1Set;
        14: .line 195
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sDataObjectCount:I
        15: .line 196
            aconst_null
            areturn
        16: .line 200
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokestatic org.bouncycastle.jce.provider.ProviderUtil.getReadLimit:(Ljava/io/InputStream;)I
            istore 2 /* limit */
        start local 2 // int limit
        17: .line 202
            new java.io.PushbackInputStream
            dup
            aload 1 /* in */
            invokespecial java.io.PushbackInputStream.<init>:(Ljava/io/InputStream;)V
            astore 3 /* pis */
        start local 3 // java.io.PushbackInputStream pis
        18: .line 203
            aload 3 /* pis */
            invokevirtual java.io.PushbackInputStream.read:()I
            istore 4 /* tag */
        start local 4 // int tag
        19: .line 205
            iload 4 /* tag */
            iconst_m1
            if_icmpne 21
        20: .line 207
            aconst_null
            areturn
        21: .line 210
      StackMap locals: int java.io.PushbackInputStream int
      StackMap stack:
            aload 3 /* pis */
            iload 4 /* tag */
            invokevirtual java.io.PushbackInputStream.unread:(I)V
        22: .line 212
            iload 4 /* tag */
            bipush 48
            if_icmpeq 25
        23: .line 214
            aload 0 /* this */
            aload 3 /* pis */
            invokevirtual org.bouncycastle.jce.provider.JDKX509CertificateFactory.readPEMCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
        24: areturn
        25: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.bouncycastle.asn1.ASN1InputStream
            dup
            aload 3 /* pis */
            iload 2 /* limit */
            invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:(Ljava/io/InputStream;I)V
            invokevirtual org.bouncycastle.jce.provider.JDKX509CertificateFactory.readDERCertificate:(Lorg/bouncycastle/asn1/ASN1InputStream;)Ljava/security/cert/Certificate;
        26: areturn
        end local 4 // int tag
        end local 3 // java.io.PushbackInputStream pis
        end local 2 // int limit
        27: .line 221
      StackMap locals: org.bouncycastle.jce.provider.JDKX509CertificateFactory java.io.InputStream
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        28: .line 223
            new java.security.cert.CertificateException
            dup
            aload 2 /* e */
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Exception e
        end local 1 // java.io.InputStream in
        end local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   29     0   this  Lorg/bouncycastle/jce/provider/JDKX509CertificateFactory;
            0   29     1     in  Ljava/io/InputStream;
           17   27     2  limit  I
           18   27     3    pis  Ljava/io/PushbackInputStream;
           19   27     4    tag  I
           28   29     2      e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           9    12      27  Class java.lang.Exception
          13    15      27  Class java.lang.Exception
          16    20      27  Class java.lang.Exception
          21    24      27  Class java.lang.Exception
          25    26      27  Class java.lang.Exception
    Exceptions:
      throws java.security.cert.CertificateException
    MethodParameters:
      Name  Flags
      in    

  public java.util.Collection engineGenerateCertificates(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
        start local 1 // java.io.InputStream inStream
         0: .line 236
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* certs */
        start local 3 // java.util.List certs
         1: .line 238
            goto 3
        start local 2 // java.security.cert.Certificate cert
         2: .line 240
      StackMap locals: java.security.cert.Certificate java.util.List
      StackMap stack:
            aload 3 /* certs */
            aload 2 /* cert */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.security.cert.Certificate cert
         3: .line 238
      StackMap locals: org.bouncycastle.jce.provider.JDKX509CertificateFactory java.io.InputStream top java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 1 /* inStream */
            invokevirtual org.bouncycastle.jce.provider.JDKX509CertificateFactory.engineGenerateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
            dup
            astore 2 /* cert */
        start local 2 // java.security.cert.Certificate cert
         4: ifnonnull 2
         5: .line 243
            aload 3 /* certs */
            areturn
        end local 3 // java.util.List certs
        end local 2 // java.security.cert.Certificate cert
        end local 1 // java.io.InputStream inStream
        end local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/bouncycastle/jce/provider/JDKX509CertificateFactory;
            0    6     1  inStream  Ljava/io/InputStream;
            2    3     2      cert  Ljava/security/cert/Certificate;
            4    6     2      cert  Ljava/security/cert/Certificate;
            1    6     3     certs  Ljava/util/List;
    Exceptions:
      throws java.security.cert.CertificateException
    MethodParameters:
          Name  Flags
      inStream  

  public java.security.cert.CRL engineGenerateCRL(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/security/cert/CRL;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
        start local 1 // java.io.InputStream inStream
         0: .line 254
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.currentCrlStream:Ljava/io/InputStream;
            ifnonnull 5
         1: .line 256
            aload 0 /* this */
            aload 1 /* inStream */
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.currentCrlStream:Ljava/io/InputStream;
         2: .line 257
            aload 0 /* this */
            aconst_null
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sCrlData:Lorg/bouncycastle/asn1/ASN1Set;
         3: .line 258
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sCrlDataObjectCount:I
         4: .line 259
            goto 9
         5: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.currentCrlStream:Ljava/io/InputStream;
            aload 1 /* inStream */
            if_acmpeq 9
         6: .line 262
            aload 0 /* this */
            aload 1 /* inStream */
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.currentCrlStream:Ljava/io/InputStream;
         7: .line 263
            aload 0 /* this */
            aconst_null
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sCrlData:Lorg/bouncycastle/asn1/ASN1Set;
         8: .line 264
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sCrlDataObjectCount:I
         9: .line 269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sCrlData:Lorg/bouncycastle/asn1/ASN1Set;
            ifnull 16
        10: .line 271
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sCrlDataObjectCount:I
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sCrlData:Lorg/bouncycastle/asn1/ASN1Set;
            invokevirtual org.bouncycastle.asn1.ASN1Set.size:()I
            if_icmpeq 13
        11: .line 273
            aload 0 /* this */
            invokevirtual org.bouncycastle.jce.provider.JDKX509CertificateFactory.getCRL:()Ljava/security/cert/CRL;
        12: areturn
        13: .line 277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sCrlData:Lorg/bouncycastle/asn1/ASN1Set;
        14: .line 278
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.jce.provider.JDKX509CertificateFactory.sCrlDataObjectCount:I
        15: .line 279
            aconst_null
            areturn
        16: .line 283
      StackMap locals:
      StackMap stack:
            aload 1 /* inStream */
            invokestatic org.bouncycastle.jce.provider.ProviderUtil.getReadLimit:(Ljava/io/InputStream;)I
            istore 2 /* limit */
        start local 2 // int limit
        17: .line 285
            new java.io.PushbackInputStream
            dup
            aload 1 /* inStream */
            invokespecial java.io.PushbackInputStream.<init>:(Ljava/io/InputStream;)V
            astore 3 /* pis */
        start local 3 // java.io.PushbackInputStream pis
        18: .line 286
            aload 3 /* pis */
            invokevirtual java.io.PushbackInputStream.read:()I
            istore 4 /* tag */
        start local 4 // int tag
        19: .line 288
            iload 4 /* tag */
            iconst_m1
            if_icmpne 21
        20: .line 290
            aconst_null
            areturn
        21: .line 293
      StackMap locals: int java.io.PushbackInputStream int
      StackMap stack:
            aload 3 /* pis */
            iload 4 /* tag */
            invokevirtual java.io.PushbackInputStream.unread:(I)V
        22: .line 295
            iload 4 /* tag */
            bipush 48
            if_icmpeq 25
        23: .line 297
            aload 0 /* this */
            aload 3 /* pis */
            invokevirtual org.bouncycastle.jce.provider.JDKX509CertificateFactory.readPEMCRL:(Ljava/io/InputStream;)Ljava/security/cert/CRL;
        24: areturn
        25: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.bouncycastle.asn1.ASN1InputStream
            dup
            aload 3 /* pis */
            iload 2 /* limit */
            iconst_1
            invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:(Ljava/io/InputStream;IZ)V
            invokevirtual org.bouncycastle.jce.provider.JDKX509CertificateFactory.readDERCRL:(Lorg/bouncycastle/asn1/ASN1InputStream;)Ljava/security/cert/CRL;
        26: areturn
        end local 4 // int tag
        end local 3 // java.io.PushbackInputStream pis
        end local 2 // int limit
        27: .line 304
      StackMap locals: org.bouncycastle.jce.provider.JDKX509CertificateFactory java.io.InputStream
      StackMap stack: java.security.cert.CRLException
            astore 2 /* e */
        start local 2 // java.security.cert.CRLException e
        28: .line 306
            aload 2 /* e */
            athrow
        end local 2 // java.security.cert.CRLException e
        29: .line 308
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        30: .line 310
            new java.security.cert.CRLException
            dup
            aload 2 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokespecial java.security.cert.CRLException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.Exception e
        end local 1 // java.io.InputStream inStream
        end local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   31     0      this  Lorg/bouncycastle/jce/provider/JDKX509CertificateFactory;
            0   31     1  inStream  Ljava/io/InputStream;
           17   27     2     limit  I
           18   27     3       pis  Ljava/io/PushbackInputStream;
           19   27     4       tag  I
           28   29     2         e  Ljava/security/cert/CRLException;
           30   31     2         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           9    12      27  Class java.security.cert.CRLException
          13    15      27  Class java.security.cert.CRLException
          16    20      27  Class java.security.cert.CRLException
          21    24      27  Class java.security.cert.CRLException
          25    26      27  Class java.security.cert.CRLException
           9    12      29  Class java.lang.Exception
          13    15      29  Class java.lang.Exception
          16    20      29  Class java.lang.Exception
          21    24      29  Class java.lang.Exception
          25    26      29  Class java.lang.Exception
    Exceptions:
      throws java.security.cert.CRLException
    MethodParameters:
          Name  Flags
      inStream  

  public java.util.Collection engineGenerateCRLs(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
        start local 1 // java.io.InputStream inStream
         0: .line 328
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* crls */
        start local 3 // java.util.List crls
         1: .line 330
            goto 3
        start local 2 // java.security.cert.CRL crl
         2: .line 332
      StackMap locals: java.security.cert.CRL java.util.List
      StackMap stack:
            aload 3 /* crls */
            aload 2 /* crl */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.security.cert.CRL crl
         3: .line 330
      StackMap locals: org.bouncycastle.jce.provider.JDKX509CertificateFactory java.io.InputStream top java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 1 /* inStream */
            invokevirtual org.bouncycastle.jce.provider.JDKX509CertificateFactory.engineGenerateCRL:(Ljava/io/InputStream;)Ljava/security/cert/CRL;
            dup
            astore 2 /* crl */
        start local 2 // java.security.cert.CRL crl
         4: ifnonnull 2
         5: .line 335
            aload 3 /* crls */
            areturn
        end local 3 // java.util.List crls
        end local 2 // java.security.cert.CRL crl
        end local 1 // java.io.InputStream inStream
        end local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/bouncycastle/jce/provider/JDKX509CertificateFactory;
            0    6     1  inStream  Ljava/io/InputStream;
            2    3     2       crl  Ljava/security/cert/CRL;
            4    6     2       crl  Ljava/security/cert/CRL;
            1    6     3      crls  Ljava/util/List;
    Exceptions:
      throws java.security.cert.CRLException
    MethodParameters:
          Name  Flags
      inStream  

  public java.util.Iterator engineGetCertPathEncodings();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
         0: .line 340
            getstatic org.bouncycastle.jce.provider.PKIXCertPath.certPathEncodings:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            areturn
        end local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/jce/provider/JDKX509CertificateFactory;

  public java.security.cert.CertPath engineGenerateCertPath(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/security/cert/CertPath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
        start local 1 // java.io.InputStream inStream
         0: .line 347
            aload 0 /* this */
            aload 1 /* inStream */
            ldc "PkiPath"
            invokevirtual org.bouncycastle.jce.provider.JDKX509CertificateFactory.engineGenerateCertPath:(Ljava/io/InputStream;Ljava/lang/String;)Ljava/security/cert/CertPath;
            areturn
        end local 1 // java.io.InputStream inStream
        end local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/bouncycastle/jce/provider/JDKX509CertificateFactory;
            0    1     1  inStream  Ljava/io/InputStream;
    Exceptions:
      throws java.security.cert.CertificateException
    MethodParameters:
          Name  Flags
      inStream  

  public java.security.cert.CertPath engineGenerateCertPath(java.io.InputStream, java.lang.String);
    descriptor: (Ljava/io/InputStream;Ljava/lang/String;)Ljava/security/cert/CertPath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
        start local 1 // java.io.InputStream inStream
        start local 2 // java.lang.String encoding
         0: .line 355
            new org.bouncycastle.jce.provider.PKIXCertPath
            dup
            aload 1 /* inStream */
            aload 2 /* encoding */
            invokespecial org.bouncycastle.jce.provider.PKIXCertPath.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String encoding
        end local 1 // java.io.InputStream inStream
        end local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/bouncycastle/jce/provider/JDKX509CertificateFactory;
            0    1     1  inStream  Ljava/io/InputStream;
            0    1     2  encoding  Ljava/lang/String;
    Exceptions:
      throws java.security.cert.CertificateException
    MethodParameters:
          Name  Flags
      inStream  
      encoding  

  public java.security.cert.CertPath engineGenerateCertPath(java.util.List);
    descriptor: (Ljava/util/List;)Ljava/security/cert/CertPath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
        start local 1 // java.util.List certificates
         0: .line 362
            aload 1 /* certificates */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         1: .line 364
            goto 6
         2: .line 366
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* obj */
        start local 3 // java.lang.Object obj
         3: .line 367
            aload 3 /* obj */
            ifnull 6
         4: .line 369
            aload 3 /* obj */
            instanceof java.security.cert.X509Certificate
            ifne 6
         5: .line 371
            new java.security.cert.CertificateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "list contains non X509Certificate object while creating CertPath\n"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* obj */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.Object obj
         6: .line 364
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 375
            new org.bouncycastle.jce.provider.PKIXCertPath
            dup
            aload 1 /* certificates */
            invokespecial org.bouncycastle.jce.provider.PKIXCertPath.<init>:(Ljava/util/List;)V
            areturn
        end local 2 // java.util.Iterator iter
        end local 1 // java.util.List certificates
        end local 0 // org.bouncycastle.jce.provider.JDKX509CertificateFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lorg/bouncycastle/jce/provider/JDKX509CertificateFactory;
            0    8     1  certificates  Ljava/util/List;
            1    8     2          iter  Ljava/util/Iterator;
            3    6     3           obj  Ljava/lang/Object;
    Exceptions:
      throws java.security.cert.CertificateException
    MethodParameters:
              Name  Flags
      certificates  
}
SourceFile: "JDKX509CertificateFactory.java"