public class org.bouncycastle.asn1.cmp.PKIBody extends org.bouncycastle.asn1.ASN1Encodable implements org.bouncycastle.asn1.ASN1Choice
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.asn1.cmp.PKIBody
  super_class: org.bouncycastle.asn1.ASN1Encodable
{
  public static final int TYPE_INIT_REQ;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int TYPE_INIT_REP;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int TYPE_CERT_REQ;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int TYPE_CERT_REP;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int TYPE_P10_CERT_REQ;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int TYPE_POPO_CHALL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int TYPE_POPO_REP;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final int TYPE_KEY_UPDATE_REQ;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  public static final int TYPE_KEY_UPDATE_REP;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int TYPE_KEY_RECOVERY_REQ;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  public static final int TYPE_KEY_RECOVERY_REP;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  public static final int TYPE_REVOCATION_REQ;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 11

  public static final int TYPE_REVOCATION_REP;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  public static final int TYPE_CROSS_CERT_REQ;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 13

  public static final int TYPE_CROSS_CERT_REP;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 14

  public static final int TYPE_CA_KEY_UPDATE_ANN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 15

  public static final int TYPE_CERT_ANN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  public static final int TYPE_REVOCATION_ANN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 17

  public static final int TYPE_CRL_ANN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 18

  public static final int TYPE_CONFIRM;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 19

  public static final int TYPE_NESTED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 20

  public static final int TYPE_GEN_MSG;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 21

  public static final int TYPE_GEN_REP;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 22

  public static final int TYPE_ERROR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 23

  public static final int TYPE_CERT_CONFIRM;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 24

  public static final int TYPE_POLL_REQ;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 25

  public static final int TYPE_POLL_REP;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 26

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

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

  public static org.bouncycastle.asn1.cmp.PKIBody getInstance(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/PKIBody;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Object o
         0: .line 48
            aload 0 /* o */
            instanceof org.bouncycastle.asn1.cmp.PKIBody
            ifeq 2
         1: .line 50
            aload 0 /* o */
            checkcast org.bouncycastle.asn1.cmp.PKIBody
            areturn
         2: .line 53
      StackMap locals:
      StackMap stack:
            aload 0 /* o */
            instanceof org.bouncycastle.asn1.ASN1TaggedObject
            ifeq 4
         3: .line 55
            new org.bouncycastle.asn1.cmp.PKIBody
            dup
            aload 0 /* o */
            checkcast org.bouncycastle.asn1.ASN1TaggedObject
            invokespecial org.bouncycastle.asn1.cmp.PKIBody.<init>:(Lorg/bouncycastle/asn1/ASN1TaggedObject;)V
            areturn
         4: .line 58
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid object: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.Object o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     

  private void <init>(org.bouncycastle.asn1.ASN1TaggedObject);
    descriptor: (Lorg/bouncycastle/asn1/ASN1TaggedObject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.asn1.cmp.PKIBody this
        start local 1 // org.bouncycastle.asn1.ASN1TaggedObject tagged
         0: .line 61
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.ASN1Encodable.<init>:()V
         1: .line 63
            aload 0 /* this */
            aload 1 /* tagged */
            invokevirtual org.bouncycastle.asn1.ASN1TaggedObject.getTagNo:()I
            putfield org.bouncycastle.asn1.cmp.PKIBody.tagNo:I
         2: .line 64
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.asn1.cmp.PKIBody.tagNo:I
            aload 1 /* tagged */
            invokevirtual org.bouncycastle.asn1.ASN1TaggedObject.getObject:()Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.cmp.PKIBody.getBodyForType:(ILorg/bouncycastle/asn1/ASN1Encodable;)Lorg/bouncycastle/asn1/ASN1Encodable;
            putfield org.bouncycastle.asn1.cmp.PKIBody.body:Lorg/bouncycastle/asn1/ASN1Encodable;
         3: .line 65
            return
        end local 1 // org.bouncycastle.asn1.ASN1TaggedObject tagged
        end local 0 // org.bouncycastle.asn1.cmp.PKIBody this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/bouncycastle/asn1/cmp/PKIBody;
            0    4     1  tagged  Lorg/bouncycastle/asn1/ASN1TaggedObject;
    MethodParameters:
        Name  Flags
      tagged  

  public void <init>(int, org.bouncycastle.asn1.ASN1Encodable);
    descriptor: (ILorg/bouncycastle/asn1/ASN1Encodable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.bouncycastle.asn1.cmp.PKIBody this
        start local 1 // int type
        start local 2 // org.bouncycastle.asn1.ASN1Encodable content
         0: .line 72
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.ASN1Encodable.<init>:()V
         1: .line 76
            aload 0 /* this */
            iload 1 /* type */
            putfield org.bouncycastle.asn1.cmp.PKIBody.tagNo:I
         2: .line 77
            aload 0 /* this */
            iload 1 /* type */
            aload 2 /* content */
            invokestatic org.bouncycastle.asn1.cmp.PKIBody.getBodyForType:(ILorg/bouncycastle/asn1/ASN1Encodable;)Lorg/bouncycastle/asn1/ASN1Encodable;
            putfield org.bouncycastle.asn1.cmp.PKIBody.body:Lorg/bouncycastle/asn1/ASN1Encodable;
         3: .line 78
            return
        end local 2 // org.bouncycastle.asn1.ASN1Encodable content
        end local 1 // int type
        end local 0 // org.bouncycastle.asn1.cmp.PKIBody this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/bouncycastle/asn1/cmp/PKIBody;
            0    4     1     type  I
            0    4     2  content  Lorg/bouncycastle/asn1/ASN1Encodable;
    MethodParameters:
         Name  Flags
      type     
      content  

  private static org.bouncycastle.asn1.ASN1Encodable getBodyForType(int, org.bouncycastle.asn1.ASN1Encodable);
    descriptor: (ILorg/bouncycastle/asn1/ASN1Encodable;)Lorg/bouncycastle/asn1/ASN1Encodable;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // int type
        start local 1 // org.bouncycastle.asn1.ASN1Encodable o
         0: .line 84
            iload 0 /* type */
            tableswitch { // 0 - 26
                    0: 1
                    1: 2
                    2: 3
                    3: 4
                    4: 5
                    5: 6
                    6: 7
                    7: 8
                    8: 9
                    9: 10
                   10: 11
                   11: 12
                   12: 13
                   13: 14
                   14: 15
                   15: 16
                   16: 17
                   17: 18
                   18: 19
                   19: 20
                   20: 21
                   21: 22
                   22: 23
                   23: 24
                   24: 25
                   25: 26
                   26: 27
              default: 28
          }
         1: .line 87
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.crmf.CertReqMessages.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/crmf/CertReqMessages;
            areturn
         2: .line 89
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.CertRepMessage.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/CertRepMessage;
            areturn
         3: .line 91
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.crmf.CertReqMessages.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/crmf/CertReqMessages;
            areturn
         4: .line 93
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.CertRepMessage.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/CertRepMessage;
            areturn
         5: .line 95
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.pkcs.CertificationRequest.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/pkcs/CertificationRequest;
            areturn
         6: .line 97
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.POPODecKeyChallContent.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/POPODecKeyChallContent;
            areturn
         7: .line 99
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.POPODecKeyRespContent.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/POPODecKeyRespContent;
            areturn
         8: .line 101
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.crmf.CertReqMessages.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/crmf/CertReqMessages;
            areturn
         9: .line 103
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.CertRepMessage.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/CertRepMessage;
            areturn
        10: .line 105
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.crmf.CertReqMessages.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/crmf/CertReqMessages;
            areturn
        11: .line 107
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.KeyRecRepContent.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/KeyRecRepContent;
            areturn
        12: .line 109
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.RevReqContent.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/RevReqContent;
            areturn
        13: .line 111
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.RevRepContent.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/RevRepContent;
            areturn
        14: .line 113
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.crmf.CertReqMessages.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/crmf/CertReqMessages;
            areturn
        15: .line 115
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.CertRepMessage.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/CertRepMessage;
            areturn
        16: .line 117
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.CAKeyUpdAnnContent.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/CAKeyUpdAnnContent;
            areturn
        17: .line 119
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.CMPCertificate.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/CMPCertificate;
            areturn
        18: .line 121
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.RevAnnContent.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/RevAnnContent;
            areturn
        19: .line 123
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.CRLAnnContent.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/CRLAnnContent;
            areturn
        20: .line 125
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.PKIConfirmContent.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/PKIConfirmContent;
            areturn
        21: .line 127
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.PKIMessages.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/PKIMessages;
            areturn
        22: .line 129
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.GenMsgContent.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/GenMsgContent;
            areturn
        23: .line 131
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.GenRepContent.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/GenRepContent;
            areturn
        24: .line 133
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.ErrorMsgContent.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/ErrorMsgContent;
            areturn
        25: .line 135
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.CertConfirmContent.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/CertConfirmContent;
            areturn
        26: .line 137
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.PollReqContent.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/PollReqContent;
            areturn
        27: .line 139
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            invokestatic org.bouncycastle.asn1.cmp.PollRepContent.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/PollRepContent;
            areturn
        28: .line 141
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unknown tag number: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // org.bouncycastle.asn1.ASN1Encodable o
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   29     0  type  I
            0   29     1     o  Lorg/bouncycastle/asn1/ASN1Encodable;
    MethodParameters:
      Name  Flags
      type  
      o     

  public int getType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.asn1.cmp.PKIBody this
         0: .line 147
            aload 0 /* this */
            getfield org.bouncycastle.asn1.cmp.PKIBody.tagNo:I
            ireturn
        end local 0 // org.bouncycastle.asn1.cmp.PKIBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/asn1/cmp/PKIBody;

  public org.bouncycastle.asn1.ASN1Encodable getContent();
    descriptor: ()Lorg/bouncycastle/asn1/ASN1Encodable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.asn1.cmp.PKIBody this
         0: .line 152
            aload 0 /* this */
            getfield org.bouncycastle.asn1.cmp.PKIBody.body:Lorg/bouncycastle/asn1/ASN1Encodable;
            areturn
        end local 0 // org.bouncycastle.asn1.cmp.PKIBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/asn1/cmp/PKIBody;

  public org.bouncycastle.asn1.DERObject toASN1Object();
    descriptor: ()Lorg/bouncycastle/asn1/DERObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.bouncycastle.asn1.cmp.PKIBody this
         0: .line 191
            new org.bouncycastle.asn1.DERTaggedObject
            dup
            iconst_1
            aload 0 /* this */
            getfield org.bouncycastle.asn1.cmp.PKIBody.tagNo:I
            aload 0 /* this */
            getfield org.bouncycastle.asn1.cmp.PKIBody.body:Lorg/bouncycastle/asn1/ASN1Encodable;
            invokespecial org.bouncycastle.asn1.DERTaggedObject.<init>:(ZILorg/bouncycastle/asn1/DEREncodable;)V
            areturn
        end local 0 // org.bouncycastle.asn1.cmp.PKIBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/asn1/cmp/PKIBody;
}
SourceFile: "PKIBody.java"