public class sun.security.provider.certpath.CollectionCertStore extends java.security.cert.CertStoreSpi
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.provider.certpath.CollectionCertStore
  super_class: java.security.cert.CertStoreSpi
{
  private java.util.Collection<?> coll;
    descriptor: Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Collection<*>;

  public void <init>(java.security.cert.CertStoreParameters);
    descriptor: (Ljava/security/cert/CertStoreParameters;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.provider.certpath.CollectionCertStore this
        start local 1 // java.security.cert.CertStoreParameters params
         0: .line 97
            aload 0 /* this */
            aload 1 /* params */
            invokespecial java.security.cert.CertStoreSpi.<init>:(Ljava/security/cert/CertStoreParameters;)V
         1: .line 98
            aload 1 /* params */
            instanceof java.security.cert.CollectionCertStoreParameters
            ifne 5
         2: .line 99
            new java.security.InvalidAlgorithmParameterException
            dup
         3: .line 100
            ldc "parameters must be CollectionCertStoreParameters"
         4: .line 99
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 101
      StackMap locals: sun.security.provider.certpath.CollectionCertStore java.security.cert.CertStoreParameters
      StackMap stack:
            aload 0 /* this */
            aload 1 /* params */
            checkcast java.security.cert.CollectionCertStoreParameters
            invokevirtual java.security.cert.CollectionCertStoreParameters.getCollection:()Ljava/util/Collection;
            putfield sun.security.provider.certpath.CollectionCertStore.coll:Ljava/util/Collection;
         6: .line 102
            return
        end local 1 // java.security.cert.CertStoreParameters params
        end local 0 // sun.security.provider.certpath.CollectionCertStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/security/provider/certpath/CollectionCertStore;
            0    7     1  params  Ljava/security/cert/CertStoreParameters;
    Exceptions:
      throws java.security.InvalidAlgorithmParameterException
    MethodParameters:
        Name  Flags
      params  

  public java.util.Collection<java.security.cert.Certificate> engineGetCertificates(java.security.cert.CertSelector);
    descriptor: (Ljava/security/cert/CertSelector;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // sun.security.provider.certpath.CollectionCertStore this
        start local 1 // java.security.cert.CertSelector selector
         0: .line 119
            aload 0 /* this */
            getfield sun.security.provider.certpath.CollectionCertStore.coll:Ljava/util/Collection;
            ifnonnull 2
         1: .line 120
            new java.security.cert.CertStoreException
            dup
            ldc "Collection is null"
            invokespecial java.security.cert.CertStoreException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 123
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* c */
        start local 2 // int c
         3: goto 22
         4: .line 125
      StackMap locals: int
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* result */
        start local 3 // java.util.HashSet result
         5: .line 126
            aload 1 /* selector */
            ifnull 13
         6: .line 127
            aload 0 /* this */
            getfield sun.security.provider.certpath.CollectionCertStore.coll:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 11
      StackMap locals: sun.security.provider.certpath.CollectionCertStore java.security.cert.CertSelector int java.util.HashSet top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* o */
        start local 4 // java.lang.Object o
         8: .line 128
            aload 4 /* o */
            instanceof java.security.cert.Certificate
            ifeq 11
         9: .line 129
            aload 1 /* selector */
            aload 4 /* o */
            checkcast java.security.cert.Certificate
            invokeinterface java.security.cert.CertSelector.match:(Ljava/security/cert/Certificate;)Z
            ifeq 11
        10: .line 130
            aload 3 /* result */
            aload 4 /* o */
            checkcast java.security.cert.Certificate
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Object o
        11: .line 127
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        12: .line 132
            goto 18
        13: .line 133
      StackMap locals: sun.security.provider.certpath.CollectionCertStore java.security.cert.CertSelector int java.util.HashSet
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.CollectionCertStore.coll:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 17
      StackMap locals: sun.security.provider.certpath.CollectionCertStore java.security.cert.CertSelector int java.util.HashSet top java.util.Iterator
      StackMap stack:
        14: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* o */
        start local 4 // java.lang.Object o
        15: .line 134
            aload 4 /* o */
            instanceof java.security.cert.Certificate
            ifeq 17
        16: .line 135
            aload 3 /* result */
            aload 4 /* o */
            checkcast java.security.cert.Certificate
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Object o
        17: .line 133
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        18: .line 138
      StackMap locals: sun.security.provider.certpath.CollectionCertStore java.security.cert.CertSelector int java.util.HashSet
      StackMap stack:
            aload 3 /* result */
        19: areturn
        end local 3 // java.util.HashSet result
        20: .line 139
      StackMap locals: sun.security.provider.certpath.CollectionCertStore java.security.cert.CertSelector int
      StackMap stack: java.util.ConcurrentModificationException
            pop
        21: .line 123
            iinc 2 /* c */ 1
      StackMap locals:
      StackMap stack:
        22: iload 2 /* c */
            bipush 10
            if_icmplt 4
        end local 2 // int c
        23: .line 141
            new java.util.ConcurrentModificationException
            dup
            ldc "Too many ConcurrentModificationExceptions"
            invokespecial java.util.ConcurrentModificationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.security.cert.CertSelector selector
        end local 0 // sun.security.provider.certpath.CollectionCertStore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0      this  Lsun/security/provider/certpath/CollectionCertStore;
            0   24     1  selector  Ljava/security/cert/CertSelector;
            3   23     2         c  I
            5   20     3    result  Ljava/util/HashSet<Ljava/security/cert/Certificate;>;
            8   11     4         o  Ljava/lang/Object;
           15   17     4         o  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           4    19      20  Class java.util.ConcurrentModificationException
    Exceptions:
      throws java.security.cert.CertStoreException
    Signature: (Ljava/security/cert/CertSelector;)Ljava/util/Collection<Ljava/security/cert/Certificate;>;
    MethodParameters:
          Name  Flags
      selector  

  public java.util.Collection<java.security.cert.CRL> engineGetCRLs(java.security.cert.CRLSelector);
    descriptor: (Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // sun.security.provider.certpath.CollectionCertStore this
        start local 1 // java.security.cert.CRLSelector selector
         0: .line 161
            aload 0 /* this */
            getfield sun.security.provider.certpath.CollectionCertStore.coll:Ljava/util/Collection;
            ifnonnull 2
         1: .line 162
            new java.security.cert.CertStoreException
            dup
            ldc "Collection is null"
            invokespecial java.security.cert.CertStoreException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 165
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* c */
        start local 2 // int c
         3: goto 21
         4: .line 167
      StackMap locals: int
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* result */
        start local 3 // java.util.HashSet result
         5: .line 168
            aload 1 /* selector */
            ifnull 12
         6: .line 169
            aload 0 /* this */
            getfield sun.security.provider.certpath.CollectionCertStore.coll:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: sun.security.provider.certpath.CollectionCertStore java.security.cert.CRLSelector int java.util.HashSet top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* o */
        start local 4 // java.lang.Object o
         8: .line 170
            aload 4 /* o */
            instanceof java.security.cert.CRL
            ifeq 10
            aload 1 /* selector */
            aload 4 /* o */
            checkcast java.security.cert.CRL
            invokeinterface java.security.cert.CRLSelector.match:(Ljava/security/cert/CRL;)Z
            ifeq 10
         9: .line 171
            aload 3 /* result */
            aload 4 /* o */
            checkcast java.security.cert.CRL
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Object o
        10: .line 169
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        11: .line 173
            goto 17
        12: .line 174
      StackMap locals: sun.security.provider.certpath.CollectionCertStore java.security.cert.CRLSelector int java.util.HashSet
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.CollectionCertStore.coll:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 16
      StackMap locals: sun.security.provider.certpath.CollectionCertStore java.security.cert.CRLSelector int java.util.HashSet top java.util.Iterator
      StackMap stack:
        13: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* o */
        start local 4 // java.lang.Object o
        14: .line 175
            aload 4 /* o */
            instanceof java.security.cert.CRL
            ifeq 16
        15: .line 176
            aload 3 /* result */
            aload 4 /* o */
            checkcast java.security.cert.CRL
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Object o
        16: .line 174
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        17: .line 179
      StackMap locals: sun.security.provider.certpath.CollectionCertStore java.security.cert.CRLSelector int java.util.HashSet
      StackMap stack:
            aload 3 /* result */
        18: areturn
        end local 3 // java.util.HashSet result
        19: .line 180
      StackMap locals: sun.security.provider.certpath.CollectionCertStore java.security.cert.CRLSelector int
      StackMap stack: java.util.ConcurrentModificationException
            pop
        20: .line 165
            iinc 2 /* c */ 1
      StackMap locals:
      StackMap stack:
        21: iload 2 /* c */
            bipush 10
            if_icmplt 4
        end local 2 // int c
        22: .line 182
            new java.util.ConcurrentModificationException
            dup
            ldc "Too many ConcurrentModificationExceptions"
            invokespecial java.util.ConcurrentModificationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.security.cert.CRLSelector selector
        end local 0 // sun.security.provider.certpath.CollectionCertStore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0      this  Lsun/security/provider/certpath/CollectionCertStore;
            0   23     1  selector  Ljava/security/cert/CRLSelector;
            3   22     2         c  I
            5   19     3    result  Ljava/util/HashSet<Ljava/security/cert/CRL;>;
            8   10     4         o  Ljava/lang/Object;
           14   16     4         o  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           4    18      19  Class java.util.ConcurrentModificationException
    Exceptions:
      throws java.security.cert.CertStoreException
    Signature: (Ljava/security/cert/CRLSelector;)Ljava/util/Collection<Ljava/security/cert/CRL;>;
    MethodParameters:
          Name  Flags
      selector  
}
SourceFile: "CollectionCertStore.java"