class org.bouncycastle.cms.CMSEnvelopedHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.bouncycastle.cms.CMSEnvelopedHelper
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSEnvelopedHelper this
         0: .line 19
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.bouncycastle.cms.CMSEnvelopedHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cms/CMSEnvelopedHelper;

  static org.bouncycastle.cms.RecipientInformationStore buildRecipientInformationStore(org.bouncycastle.asn1.ASN1Set, org.bouncycastle.asn1.x509.AlgorithmIdentifier, org.bouncycastle.cms.CMSSecureReadable);
    descriptor: (Lorg/bouncycastle/asn1/ASN1Set;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/cms/CMSSecureReadable;)Lorg/bouncycastle/cms/RecipientInformationStore;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.bouncycastle.asn1.ASN1Set recipientInfos
        start local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier messageAlgorithm
        start local 2 // org.bouncycastle.cms.CMSSecureReadable secureReadable
         0: .line 24
            aload 0 /* recipientInfos */
            aload 1 /* messageAlgorithm */
            aload 2 /* secureReadable */
            aconst_null
            invokestatic org.bouncycastle.cms.CMSEnvelopedHelper.buildRecipientInformationStore:(Lorg/bouncycastle/asn1/ASN1Set;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/cms/CMSSecureReadable;Lorg/bouncycastle/cms/AuthAttributesProvider;)Lorg/bouncycastle/cms/RecipientInformationStore;
            areturn
        end local 2 // org.bouncycastle.cms.CMSSecureReadable secureReadable
        end local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier messageAlgorithm
        end local 0 // org.bouncycastle.asn1.ASN1Set recipientInfos
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0    recipientInfos  Lorg/bouncycastle/asn1/ASN1Set;
            0    1     1  messageAlgorithm  Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            0    1     2    secureReadable  Lorg/bouncycastle/cms/CMSSecureReadable;
    MethodParameters:
                  Name  Flags
      recipientInfos    
      messageAlgorithm  
      secureReadable    

  static org.bouncycastle.cms.RecipientInformationStore buildRecipientInformationStore(org.bouncycastle.asn1.ASN1Set, org.bouncycastle.asn1.x509.AlgorithmIdentifier, org.bouncycastle.cms.CMSSecureReadable, org.bouncycastle.cms.AuthAttributesProvider);
    descriptor: (Lorg/bouncycastle/asn1/ASN1Set;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/cms/CMSSecureReadable;Lorg/bouncycastle/cms/AuthAttributesProvider;)Lorg/bouncycastle/cms/RecipientInformationStore;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.bouncycastle.asn1.ASN1Set recipientInfos
        start local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier messageAlgorithm
        start local 2 // org.bouncycastle.cms.CMSSecureReadable secureReadable
        start local 3 // org.bouncycastle.cms.AuthAttributesProvider additionalData
         0: .line 30
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* infos */
        start local 4 // java.util.List infos
         1: .line 31
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 6
         3: .line 33
      StackMap locals: java.util.List int
      StackMap stack:
            aload 0 /* recipientInfos */
            iload 5 /* i */
            invokevirtual org.bouncycastle.asn1.ASN1Set.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.cms.RecipientInfo.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cms/RecipientInfo;
            astore 6 /* info */
        start local 6 // org.bouncycastle.asn1.cms.RecipientInfo info
         4: .line 35
            aload 4 /* infos */
            aload 6 /* info */
            aload 1 /* messageAlgorithm */
            aload 2 /* secureReadable */
            aload 3 /* additionalData */
            invokestatic org.bouncycastle.cms.CMSEnvelopedHelper.readRecipientInfo:(Ljava/util/List;Lorg/bouncycastle/asn1/cms/RecipientInfo;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/cms/CMSSecureReadable;Lorg/bouncycastle/cms/AuthAttributesProvider;)V
        end local 6 // org.bouncycastle.asn1.cms.RecipientInfo info
         5: .line 31
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 5 /* i */
            aload 0 /* recipientInfos */
            invokevirtual org.bouncycastle.asn1.ASN1Set.size:()I
            if_icmpne 3
        end local 5 // int i
         7: .line 37
            new org.bouncycastle.cms.RecipientInformationStore
            dup
            aload 4 /* infos */
            invokespecial org.bouncycastle.cms.RecipientInformationStore.<init>:(Ljava/util/Collection;)V
            areturn
        end local 4 // java.util.List infos
        end local 3 // org.bouncycastle.cms.AuthAttributesProvider additionalData
        end local 2 // org.bouncycastle.cms.CMSSecureReadable secureReadable
        end local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier messageAlgorithm
        end local 0 // org.bouncycastle.asn1.ASN1Set recipientInfos
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0    recipientInfos  Lorg/bouncycastle/asn1/ASN1Set;
            0    8     1  messageAlgorithm  Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            0    8     2    secureReadable  Lorg/bouncycastle/cms/CMSSecureReadable;
            0    8     3    additionalData  Lorg/bouncycastle/cms/AuthAttributesProvider;
            1    8     4             infos  Ljava/util/List;
            2    7     5                 i  I
            4    5     6              info  Lorg/bouncycastle/asn1/cms/RecipientInfo;
    MethodParameters:
                  Name  Flags
      recipientInfos    
      messageAlgorithm  
      secureReadable    
      additionalData    

  private static void readRecipientInfo(java.util.List, org.bouncycastle.asn1.cms.RecipientInfo, org.bouncycastle.asn1.x509.AlgorithmIdentifier, org.bouncycastle.cms.CMSSecureReadable, org.bouncycastle.cms.AuthAttributesProvider);
    descriptor: (Ljava/util/List;Lorg/bouncycastle/asn1/cms/RecipientInfo;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/cms/CMSSecureReadable;Lorg/bouncycastle/cms/AuthAttributesProvider;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // java.util.List infos
        start local 1 // org.bouncycastle.asn1.cms.RecipientInfo info
        start local 2 // org.bouncycastle.asn1.x509.AlgorithmIdentifier messageAlgorithm
        start local 3 // org.bouncycastle.cms.CMSSecureReadable secureReadable
        start local 4 // org.bouncycastle.cms.AuthAttributesProvider additionalData
         0: .line 43
            aload 1 /* info */
            invokevirtual org.bouncycastle.asn1.cms.RecipientInfo.getInfo:()Lorg/bouncycastle/asn1/ASN1Encodable;
            astore 5 /* recipInfo */
        start local 5 // org.bouncycastle.asn1.ASN1Encodable recipInfo
         1: .line 44
            aload 5 /* recipInfo */
            instanceof org.bouncycastle.asn1.cms.KeyTransRecipientInfo
            ifeq 6
         2: .line 46
            aload 0 /* infos */
            new org.bouncycastle.cms.KeyTransRecipientInformation
            dup
         3: .line 47
            aload 5 /* recipInfo */
            checkcast org.bouncycastle.asn1.cms.KeyTransRecipientInfo
            aload 2 /* messageAlgorithm */
            aload 3 /* secureReadable */
            aload 4 /* additionalData */
            invokespecial org.bouncycastle.cms.KeyTransRecipientInformation.<init>:(Lorg/bouncycastle/asn1/cms/KeyTransRecipientInfo;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/cms/CMSSecureReadable;Lorg/bouncycastle/cms/AuthAttributesProvider;)V
         4: .line 46
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 48
            goto 20
         6: .line 49
      StackMap locals: org.bouncycastle.asn1.ASN1Encodable
      StackMap stack:
            aload 5 /* recipInfo */
            instanceof org.bouncycastle.asn1.cms.KEKRecipientInfo
            ifeq 11
         7: .line 51
            aload 0 /* infos */
            new org.bouncycastle.cms.KEKRecipientInformation
            dup
         8: .line 52
            aload 5 /* recipInfo */
            checkcast org.bouncycastle.asn1.cms.KEKRecipientInfo
            aload 2 /* messageAlgorithm */
            aload 3 /* secureReadable */
            aload 4 /* additionalData */
            invokespecial org.bouncycastle.cms.KEKRecipientInformation.<init>:(Lorg/bouncycastle/asn1/cms/KEKRecipientInfo;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/cms/CMSSecureReadable;Lorg/bouncycastle/cms/AuthAttributesProvider;)V
         9: .line 51
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 53
            goto 20
        11: .line 54
      StackMap locals:
      StackMap stack:
            aload 5 /* recipInfo */
            instanceof org.bouncycastle.asn1.cms.KeyAgreeRecipientInfo
            ifeq 16
        12: .line 56
            aload 0 /* infos */
        13: .line 57
            aload 5 /* recipInfo */
            checkcast org.bouncycastle.asn1.cms.KeyAgreeRecipientInfo
            aload 2 /* messageAlgorithm */
            aload 3 /* secureReadable */
            aload 4 /* additionalData */
        14: .line 56
            invokestatic org.bouncycastle.cms.KeyAgreeRecipientInformation.readRecipientInfo:(Ljava/util/List;Lorg/bouncycastle/asn1/cms/KeyAgreeRecipientInfo;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/cms/CMSSecureReadable;Lorg/bouncycastle/cms/AuthAttributesProvider;)V
        15: .line 58
            goto 20
        16: .line 59
      StackMap locals:
      StackMap stack:
            aload 5 /* recipInfo */
            instanceof org.bouncycastle.asn1.cms.PasswordRecipientInfo
            ifeq 20
        17: .line 61
            aload 0 /* infos */
            new org.bouncycastle.cms.PasswordRecipientInformation
            dup
        18: .line 62
            aload 5 /* recipInfo */
            checkcast org.bouncycastle.asn1.cms.PasswordRecipientInfo
            aload 2 /* messageAlgorithm */
            aload 3 /* secureReadable */
            aload 4 /* additionalData */
            invokespecial org.bouncycastle.cms.PasswordRecipientInformation.<init>:(Lorg/bouncycastle/asn1/cms/PasswordRecipientInfo;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/cms/CMSSecureReadable;Lorg/bouncycastle/cms/AuthAttributesProvider;)V
        19: .line 61
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        20: .line 64
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.bouncycastle.asn1.ASN1Encodable recipInfo
        end local 4 // org.bouncycastle.cms.AuthAttributesProvider additionalData
        end local 3 // org.bouncycastle.cms.CMSSecureReadable secureReadable
        end local 2 // org.bouncycastle.asn1.x509.AlgorithmIdentifier messageAlgorithm
        end local 1 // org.bouncycastle.asn1.cms.RecipientInfo info
        end local 0 // java.util.List infos
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   21     0             infos  Ljava/util/List;
            0   21     1              info  Lorg/bouncycastle/asn1/cms/RecipientInfo;
            0   21     2  messageAlgorithm  Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            0   21     3    secureReadable  Lorg/bouncycastle/cms/CMSSecureReadable;
            0   21     4    additionalData  Lorg/bouncycastle/cms/AuthAttributesProvider;
            1   21     5         recipInfo  Lorg/bouncycastle/asn1/ASN1Encodable;
    MethodParameters:
                  Name  Flags
      infos             
      info              
      messageAlgorithm  
      secureReadable    
      additionalData    
}
SourceFile: "CMSEnvelopedHelper.java"
NestMembers:
  org.bouncycastle.cms.CMSEnvelopedHelper$CMSAuthenticatedSecureReadable  org.bouncycastle.cms.CMSEnvelopedHelper$CMSDigestAuthenticatedSecureReadable  org.bouncycastle.cms.CMSEnvelopedHelper$CMSDigestAuthenticatedSecureReadable$1  org.bouncycastle.cms.CMSEnvelopedHelper$CMSEnvelopedSecureReadable
InnerClasses:
  CMSAuthenticatedSecureReadable = org.bouncycastle.cms.CMSEnvelopedHelper$CMSAuthenticatedSecureReadable of org.bouncycastle.cms.CMSEnvelopedHelper
  CMSDigestAuthenticatedSecureReadable = org.bouncycastle.cms.CMSEnvelopedHelper$CMSDigestAuthenticatedSecureReadable of org.bouncycastle.cms.CMSEnvelopedHelper
  CMSEnvelopedSecureReadable = org.bouncycastle.cms.CMSEnvelopedHelper$CMSEnvelopedSecureReadable of org.bouncycastle.cms.CMSEnvelopedHelper