public class org.bouncycastle.tsp.TimeStampResponseGenerator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.tsp.TimeStampResponseGenerator
  super_class: java.lang.Object
{
  int status;
    descriptor: I
    flags: (0x0000) 

  org.bouncycastle.asn1.ASN1EncodableVector statusStrings;
    descriptor: Lorg/bouncycastle/asn1/ASN1EncodableVector;
    flags: (0x0000) 

  int failInfo;
    descriptor: I
    flags: (0x0000) 

  private org.bouncycastle.tsp.TimeStampTokenGenerator tokenGenerator;
    descriptor: Lorg/bouncycastle/tsp/TimeStampTokenGenerator;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set acceptedAlgorithms;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set acceptedPolicies;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set acceptedExtensions;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.bouncycastle.tsp.TimeStampTokenGenerator, java.util.Set);
    descriptor: (Lorg/bouncycastle/tsp/TimeStampTokenGenerator;Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
        start local 1 // org.bouncycastle.tsp.TimeStampTokenGenerator tokenGenerator
        start local 2 // java.util.Set acceptedAlgorithms
         0: .line 73
            aload 0 /* this */
            aload 1 /* tokenGenerator */
            aload 2 /* acceptedAlgorithms */
            aconst_null
            aconst_null
            invokespecial org.bouncycastle.tsp.TimeStampResponseGenerator.<init>:(Lorg/bouncycastle/tsp/TimeStampTokenGenerator;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;)V
         1: .line 74
            return
        end local 2 // java.util.Set acceptedAlgorithms
        end local 1 // org.bouncycastle.tsp.TimeStampTokenGenerator tokenGenerator
        end local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/bouncycastle/tsp/TimeStampResponseGenerator;
            0    2     1      tokenGenerator  Lorg/bouncycastle/tsp/TimeStampTokenGenerator;
            0    2     2  acceptedAlgorithms  Ljava/util/Set;
    MethodParameters:
                    Name  Flags
      tokenGenerator      
      acceptedAlgorithms  

  public void <init>(org.bouncycastle.tsp.TimeStampTokenGenerator, java.util.Set, java.util.Set);
    descriptor: (Lorg/bouncycastle/tsp/TimeStampTokenGenerator;Ljava/util/Set;Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
        start local 1 // org.bouncycastle.tsp.TimeStampTokenGenerator tokenGenerator
        start local 2 // java.util.Set acceptedAlgorithms
        start local 3 // java.util.Set acceptedPolicies
         0: .line 87
            aload 0 /* this */
            aload 1 /* tokenGenerator */
            aload 2 /* acceptedAlgorithms */
            aload 3 /* acceptedPolicies */
            aconst_null
            invokespecial org.bouncycastle.tsp.TimeStampResponseGenerator.<init>:(Lorg/bouncycastle/tsp/TimeStampTokenGenerator;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;)V
         1: .line 88
            return
        end local 3 // java.util.Set acceptedPolicies
        end local 2 // java.util.Set acceptedAlgorithms
        end local 1 // org.bouncycastle.tsp.TimeStampTokenGenerator tokenGenerator
        end local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/bouncycastle/tsp/TimeStampResponseGenerator;
            0    2     1      tokenGenerator  Lorg/bouncycastle/tsp/TimeStampTokenGenerator;
            0    2     2  acceptedAlgorithms  Ljava/util/Set;
            0    2     3    acceptedPolicies  Ljava/util/Set;
    MethodParameters:
                    Name  Flags
      tokenGenerator      
      acceptedAlgorithms  
      acceptedPolicies    

  public void <init>(org.bouncycastle.tsp.TimeStampTokenGenerator, java.util.Set, java.util.Set, java.util.Set);
    descriptor: (Lorg/bouncycastle/tsp/TimeStampTokenGenerator;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
        start local 1 // org.bouncycastle.tsp.TimeStampTokenGenerator tokenGenerator
        start local 2 // java.util.Set acceptedAlgorithms
        start local 3 // java.util.Set acceptedPolicies
        start local 4 // java.util.Set acceptedExtensions
         0: .line 97
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 103
            aload 0 /* this */
            aload 1 /* tokenGenerator */
            putfield org.bouncycastle.tsp.TimeStampResponseGenerator.tokenGenerator:Lorg/bouncycastle/tsp/TimeStampTokenGenerator;
         2: .line 104
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* acceptedAlgorithms */
            invokevirtual org.bouncycastle.tsp.TimeStampResponseGenerator.convert:(Ljava/util/Set;)Ljava/util/Set;
            putfield org.bouncycastle.tsp.TimeStampResponseGenerator.acceptedAlgorithms:Ljava/util/Set;
         3: .line 105
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* acceptedPolicies */
            invokevirtual org.bouncycastle.tsp.TimeStampResponseGenerator.convert:(Ljava/util/Set;)Ljava/util/Set;
            putfield org.bouncycastle.tsp.TimeStampResponseGenerator.acceptedPolicies:Ljava/util/Set;
         4: .line 106
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* acceptedExtensions */
            invokevirtual org.bouncycastle.tsp.TimeStampResponseGenerator.convert:(Ljava/util/Set;)Ljava/util/Set;
            putfield org.bouncycastle.tsp.TimeStampResponseGenerator.acceptedExtensions:Ljava/util/Set;
         5: .line 108
            aload 0 /* this */
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            putfield org.bouncycastle.tsp.TimeStampResponseGenerator.statusStrings:Lorg/bouncycastle/asn1/ASN1EncodableVector;
         6: .line 109
            return
        end local 4 // java.util.Set acceptedExtensions
        end local 3 // java.util.Set acceptedPolicies
        end local 2 // java.util.Set acceptedAlgorithms
        end local 1 // org.bouncycastle.tsp.TimeStampTokenGenerator tokenGenerator
        end local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Lorg/bouncycastle/tsp/TimeStampResponseGenerator;
            0    7     1      tokenGenerator  Lorg/bouncycastle/tsp/TimeStampTokenGenerator;
            0    7     2  acceptedAlgorithms  Ljava/util/Set;
            0    7     3    acceptedPolicies  Ljava/util/Set;
            0    7     4  acceptedExtensions  Ljava/util/Set;
    MethodParameters:
                    Name  Flags
      tokenGenerator      
      acceptedAlgorithms  
      acceptedPolicies    
      acceptedExtensions  

  private void addStatusString(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
        start local 1 // java.lang.String statusString
         0: .line 113
            aload 0 /* this */
            getfield org.bouncycastle.tsp.TimeStampResponseGenerator.statusStrings:Lorg/bouncycastle/asn1/ASN1EncodableVector;
            new org.bouncycastle.asn1.DERUTF8String
            dup
            aload 1 /* statusString */
            invokespecial org.bouncycastle.asn1.DERUTF8String.<init>:(Ljava/lang/String;)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
         1: .line 114
            return
        end local 1 // java.lang.String statusString
        end local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/bouncycastle/tsp/TimeStampResponseGenerator;
            0    2     1  statusString  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      statusString  

  private void setFailInfoField(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
        start local 1 // int field
         0: .line 118
            aload 0 /* this */
            dup
            getfield org.bouncycastle.tsp.TimeStampResponseGenerator.failInfo:I
            iload 1 /* field */
            ior
            putfield org.bouncycastle.tsp.TimeStampResponseGenerator.failInfo:I
         1: .line 119
            return
        end local 1 // int field
        end local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/bouncycastle/tsp/TimeStampResponseGenerator;
            0    2     1  field  I
    MethodParameters:
       Name  Flags
      field  

  private org.bouncycastle.asn1.cmp.PKIStatusInfo getPKIStatusInfo();
    descriptor: ()Lorg/bouncycastle/asn1/cmp/PKIStatusInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
         0: .line 123
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            astore 1 /* v */
        start local 1 // org.bouncycastle.asn1.ASN1EncodableVector v
         1: .line 125
            aload 1 /* v */
            new org.bouncycastle.asn1.ASN1Integer
            dup
            aload 0 /* this */
            getfield org.bouncycastle.tsp.TimeStampResponseGenerator.status:I
            i2l
            invokespecial org.bouncycastle.asn1.ASN1Integer.<init>:(J)V
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
         2: .line 127
            aload 0 /* this */
            getfield org.bouncycastle.tsp.TimeStampResponseGenerator.statusStrings:Lorg/bouncycastle/asn1/ASN1EncodableVector;
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.size:()I
            ifle 4
         3: .line 129
            aload 1 /* v */
            new org.bouncycastle.asn1.DERSequence
            dup
            aload 0 /* this */
            getfield org.bouncycastle.tsp.TimeStampResponseGenerator.statusStrings:Lorg/bouncycastle/asn1/ASN1EncodableVector;
            invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
            invokestatic org.bouncycastle.asn1.cmp.PKIFreeText.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/PKIFreeText;
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
         4: .line 132
      StackMap locals: org.bouncycastle.asn1.ASN1EncodableVector
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.tsp.TimeStampResponseGenerator.failInfo:I
            ifeq 7
         5: .line 134
            new org.bouncycastle.tsp.TimeStampResponseGenerator$FailInfo
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.tsp.TimeStampResponseGenerator.failInfo:I
            invokespecial org.bouncycastle.tsp.TimeStampResponseGenerator$FailInfo.<init>:(Lorg/bouncycastle/tsp/TimeStampResponseGenerator;I)V
            astore 2 /* failInfoBitString */
        start local 2 // org.bouncycastle.asn1.DERBitString failInfoBitString
         6: .line 135
            aload 1 /* v */
            aload 2 /* failInfoBitString */
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
        end local 2 // org.bouncycastle.asn1.DERBitString failInfoBitString
         7: .line 138
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.DERSequence
            dup
            aload 1 /* v */
            invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
            invokestatic org.bouncycastle.asn1.cmp.PKIStatusInfo.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/PKIStatusInfo;
            areturn
        end local 1 // org.bouncycastle.asn1.ASN1EncodableVector v
        end local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lorg/bouncycastle/tsp/TimeStampResponseGenerator;
            1    8     1                  v  Lorg/bouncycastle/asn1/ASN1EncodableVector;
            6    7     2  failInfoBitString  Lorg/bouncycastle/asn1/DERBitString;

  public org.bouncycastle.tsp.TimeStampResponse generate(org.bouncycastle.tsp.TimeStampRequest, java.math.BigInteger, java.util.Date);
    descriptor: (Lorg/bouncycastle/tsp/TimeStampRequest;Ljava/math/BigInteger;Ljava/util/Date;)Lorg/bouncycastle/tsp/TimeStampResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
        start local 1 // org.bouncycastle.tsp.TimeStampRequest request
        start local 2 // java.math.BigInteger serialNumber
        start local 3 // java.util.Date genTime
         0: .line 172
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* serialNumber */
            aload 3 /* genTime */
            ldc "Operation Okay"
            invokevirtual org.bouncycastle.tsp.TimeStampResponseGenerator.generateGrantedResponse:(Lorg/bouncycastle/tsp/TimeStampRequest;Ljava/math/BigInteger;Ljava/util/Date;Ljava/lang/String;)Lorg/bouncycastle/tsp/TimeStampResponse;
         1: areturn
         2: .line 174
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
         3: .line 176
            aload 0 /* this */
            aload 4 /* e */
            invokevirtual org.bouncycastle.tsp.TimeStampResponseGenerator.generateRejectedResponse:(Ljava/lang/Exception;)Lorg/bouncycastle/tsp/TimeStampResponse;
            areturn
        end local 4 // java.lang.Exception e
        end local 3 // java.util.Date genTime
        end local 2 // java.math.BigInteger serialNumber
        end local 1 // org.bouncycastle.tsp.TimeStampRequest request
        end local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/bouncycastle/tsp/TimeStampResponseGenerator;
            0    4     1       request  Lorg/bouncycastle/tsp/TimeStampRequest;
            0    4     2  serialNumber  Ljava/math/BigInteger;
            0    4     3       genTime  Ljava/util/Date;
            3    4     4             e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    Exceptions:
      throws org.bouncycastle.tsp.TSPException
    MethodParameters:
              Name  Flags
      request       
      serialNumber  
      genTime       

  public org.bouncycastle.tsp.TimeStampResponse generateGrantedResponse(org.bouncycastle.tsp.TimeStampRequest, java.math.BigInteger, java.util.Date);
    descriptor: (Lorg/bouncycastle/tsp/TimeStampRequest;Ljava/math/BigInteger;Ljava/util/Date;)Lorg/bouncycastle/tsp/TimeStampResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
        start local 1 // org.bouncycastle.tsp.TimeStampRequest request
        start local 2 // java.math.BigInteger serialNumber
        start local 3 // java.util.Date genTime
         0: .line 198
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* serialNumber */
            aload 3 /* genTime */
            aconst_null
            invokevirtual org.bouncycastle.tsp.TimeStampResponseGenerator.generateGrantedResponse:(Lorg/bouncycastle/tsp/TimeStampRequest;Ljava/math/BigInteger;Ljava/util/Date;Ljava/lang/String;)Lorg/bouncycastle/tsp/TimeStampResponse;
            areturn
        end local 3 // java.util.Date genTime
        end local 2 // java.math.BigInteger serialNumber
        end local 1 // org.bouncycastle.tsp.TimeStampRequest request
        end local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/bouncycastle/tsp/TimeStampResponseGenerator;
            0    1     1       request  Lorg/bouncycastle/tsp/TimeStampRequest;
            0    1     2  serialNumber  Ljava/math/BigInteger;
            0    1     3       genTime  Ljava/util/Date;
    Exceptions:
      throws org.bouncycastle.tsp.TSPException
    MethodParameters:
              Name  Flags
      request       
      serialNumber  
      genTime       

  public org.bouncycastle.tsp.TimeStampResponse generateGrantedResponse(org.bouncycastle.tsp.TimeStampRequest, java.math.BigInteger, java.util.Date, java.lang.String);
    descriptor: (Lorg/bouncycastle/tsp/TimeStampRequest;Ljava/math/BigInteger;Ljava/util/Date;Ljava/lang/String;)Lorg/bouncycastle/tsp/TimeStampResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
        start local 1 // org.bouncycastle.tsp.TimeStampRequest request
        start local 2 // java.math.BigInteger serialNumber
        start local 3 // java.util.Date genTime
        start local 4 // java.lang.String statusString
         0: .line 220
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* serialNumber */
            aload 3 /* genTime */
            aload 4 /* statusString */
            aconst_null
            invokevirtual org.bouncycastle.tsp.TimeStampResponseGenerator.generateGrantedResponse:(Lorg/bouncycastle/tsp/TimeStampRequest;Ljava/math/BigInteger;Ljava/util/Date;Ljava/lang/String;Lorg/bouncycastle/asn1/x509/Extensions;)Lorg/bouncycastle/tsp/TimeStampResponse;
            areturn
        end local 4 // java.lang.String statusString
        end local 3 // java.util.Date genTime
        end local 2 // java.math.BigInteger serialNumber
        end local 1 // org.bouncycastle.tsp.TimeStampRequest request
        end local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/bouncycastle/tsp/TimeStampResponseGenerator;
            0    1     1       request  Lorg/bouncycastle/tsp/TimeStampRequest;
            0    1     2  serialNumber  Ljava/math/BigInteger;
            0    1     3       genTime  Ljava/util/Date;
            0    1     4  statusString  Ljava/lang/String;
    Exceptions:
      throws org.bouncycastle.tsp.TSPException
    MethodParameters:
              Name  Flags
      request       
      serialNumber  
      genTime       
      statusString  

  public org.bouncycastle.tsp.TimeStampResponse generateGrantedResponse(org.bouncycastle.tsp.TimeStampRequest, java.math.BigInteger, java.util.Date, java.lang.String, org.bouncycastle.asn1.x509.Extensions);
    descriptor: (Lorg/bouncycastle/tsp/TimeStampRequest;Ljava/math/BigInteger;Ljava/util/Date;Ljava/lang/String;Lorg/bouncycastle/asn1/x509/Extensions;)Lorg/bouncycastle/tsp/TimeStampResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=6
        start local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
        start local 1 // org.bouncycastle.tsp.TimeStampRequest request
        start local 2 // java.math.BigInteger serialNumber
        start local 3 // java.util.Date genTime
        start local 4 // java.lang.String statusString
        start local 5 // org.bouncycastle.asn1.x509.Extensions additionalExtensions
         0: .line 244
            aload 3 /* genTime */
            ifnonnull 2
         1: .line 246
            new org.bouncycastle.tsp.TSPValidationException
            dup
            ldc "The time source is not available."
            sipush 512
            invokespecial org.bouncycastle.tsp.TSPValidationException.<init>:(Ljava/lang/String;I)V
            athrow
         2: .line 249
      StackMap locals:
      StackMap stack:
            aload 1 /* request */
            aload 0 /* this */
            getfield org.bouncycastle.tsp.TimeStampResponseGenerator.acceptedAlgorithms:Ljava/util/Set;
            aload 0 /* this */
            getfield org.bouncycastle.tsp.TimeStampResponseGenerator.acceptedPolicies:Ljava/util/Set;
            aload 0 /* this */
            getfield org.bouncycastle.tsp.TimeStampResponseGenerator.acceptedExtensions:Ljava/util/Set;
            invokevirtual org.bouncycastle.tsp.TimeStampRequest.validate:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;)V
         3: .line 251
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.tsp.TimeStampResponseGenerator.status:I
         4: .line 252
            aload 0 /* this */
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            putfield org.bouncycastle.tsp.TimeStampResponseGenerator.statusStrings:Lorg/bouncycastle/asn1/ASN1EncodableVector;
         5: .line 254
            aload 4 /* statusString */
            ifnull 7
         6: .line 256
            aload 0 /* this */
            aload 4 /* statusString */
            invokevirtual org.bouncycastle.tsp.TimeStampResponseGenerator.addStatusString:(Ljava/lang/String;)V
         7: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.tsp.TimeStampResponseGenerator.getPKIStatusInfo:()Lorg/bouncycastle/asn1/cmp/PKIStatusInfo;
            astore 6 /* pkiStatusInfo */
        start local 6 // org.bouncycastle.asn1.cmp.PKIStatusInfo pkiStatusInfo
         8: .line 264
            aload 0 /* this */
            getfield org.bouncycastle.tsp.TimeStampResponseGenerator.tokenGenerator:Lorg/bouncycastle/tsp/TimeStampTokenGenerator;
            aload 1 /* request */
            aload 2 /* serialNumber */
            aload 3 /* genTime */
            aload 5 /* additionalExtensions */
            invokevirtual org.bouncycastle.tsp.TimeStampTokenGenerator.generate:(Lorg/bouncycastle/tsp/TimeStampRequest;Ljava/math/BigInteger;Ljava/util/Date;Lorg/bouncycastle/asn1/x509/Extensions;)Lorg/bouncycastle/tsp/TimeStampToken;
            invokevirtual org.bouncycastle.tsp.TimeStampToken.toCMSSignedData:()Lorg/bouncycastle/cms/CMSSignedData;
            invokevirtual org.bouncycastle.cms.CMSSignedData.toASN1Structure:()Lorg/bouncycastle/asn1/cms/ContentInfo;
            astore 7 /* tstTokenContentInfo */
        start local 7 // org.bouncycastle.asn1.cms.ContentInfo tstTokenContentInfo
         9: .line 265
            goto 16
        end local 7 // org.bouncycastle.asn1.cms.ContentInfo tstTokenContentInfo
        10: .line 266
      StackMap locals: org.bouncycastle.tsp.TimeStampResponseGenerator org.bouncycastle.tsp.TimeStampRequest java.math.BigInteger java.util.Date java.lang.String org.bouncycastle.asn1.x509.Extensions org.bouncycastle.asn1.cmp.PKIStatusInfo
      StackMap stack: org.bouncycastle.tsp.TSPException
            astore 8 /* e */
        start local 8 // org.bouncycastle.tsp.TSPException e
        11: .line 268
            aload 8 /* e */
            athrow
        end local 8 // org.bouncycastle.tsp.TSPException e
        12: .line 270
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 8 /* e */
        start local 8 // java.lang.Exception e
        13: .line 272
            new org.bouncycastle.tsp.TSPException
            dup
        14: .line 273
            ldc "Timestamp token received cannot be converted to ContentInfo"
            aload 8 /* e */
        15: .line 272
            invokespecial org.bouncycastle.tsp.TSPException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.lang.Exception e
        start local 7 // org.bouncycastle.asn1.cms.ContentInfo tstTokenContentInfo
        16: .line 278
      StackMap locals: org.bouncycastle.asn1.cms.ContentInfo
      StackMap stack:
            new org.bouncycastle.tsp.TimeStampResponse
            dup
            new org.bouncycastle.asn1.DLSequence
            dup
            iconst_2
            anewarray org.bouncycastle.asn1.ASN1Encodable
            dup
            iconst_0
            aload 6 /* pkiStatusInfo */
            invokevirtual org.bouncycastle.asn1.cmp.PKIStatusInfo.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
            aastore
            dup
            iconst_1
            aload 7 /* tstTokenContentInfo */
            invokevirtual org.bouncycastle.asn1.cms.ContentInfo.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
            aastore
            invokespecial org.bouncycastle.asn1.DLSequence.<init>:([Lorg/bouncycastle/asn1/ASN1Encodable;)V
            invokespecial org.bouncycastle.tsp.TimeStampResponse.<init>:(Lorg/bouncycastle/asn1/DLSequence;)V
        17: areturn
        18: .line 280
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        19: .line 282
            new org.bouncycastle.tsp.TSPException
            dup
            ldc "created badly formatted response!"
            invokespecial org.bouncycastle.tsp.TSPException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // org.bouncycastle.asn1.cms.ContentInfo tstTokenContentInfo
        end local 6 // org.bouncycastle.asn1.cmp.PKIStatusInfo pkiStatusInfo
        end local 5 // org.bouncycastle.asn1.x509.Extensions additionalExtensions
        end local 4 // java.lang.String statusString
        end local 3 // java.util.Date genTime
        end local 2 // java.math.BigInteger serialNumber
        end local 1 // org.bouncycastle.tsp.TimeStampRequest request
        end local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   20     0                  this  Lorg/bouncycastle/tsp/TimeStampResponseGenerator;
            0   20     1               request  Lorg/bouncycastle/tsp/TimeStampRequest;
            0   20     2          serialNumber  Ljava/math/BigInteger;
            0   20     3               genTime  Ljava/util/Date;
            0   20     4          statusString  Ljava/lang/String;
            0   20     5  additionalExtensions  Lorg/bouncycastle/asn1/x509/Extensions;
            8   20     6         pkiStatusInfo  Lorg/bouncycastle/asn1/cmp/PKIStatusInfo;
            9   10     7   tstTokenContentInfo  Lorg/bouncycastle/asn1/cms/ContentInfo;
           16   20     7   tstTokenContentInfo  Lorg/bouncycastle/asn1/cms/ContentInfo;
           11   12     8                     e  Lorg/bouncycastle/tsp/TSPException;
           13   16     8                     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           8     9      10  Class org.bouncycastle.tsp.TSPException
           8     9      12  Class java.lang.Exception
          16    17      18  Class java.io.IOException
    Exceptions:
      throws org.bouncycastle.tsp.TSPException
    MethodParameters:
                      Name  Flags
      request               
      serialNumber          
      genTime               
      statusString          
      additionalExtensions  

  public org.bouncycastle.tsp.TimeStampResponse generateRejectedResponse(java.lang.Exception);
    descriptor: (Ljava/lang/Exception;)Lorg/bouncycastle/tsp/TimeStampResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
        start local 1 // java.lang.Exception exception
         0: .line 299
            aload 1 /* exception */
            instanceof org.bouncycastle.tsp.TSPValidationException
            ifeq 2
         1: .line 301
            aload 0 /* this */
            iconst_2
            aload 1 /* exception */
            checkcast org.bouncycastle.tsp.TSPValidationException
            invokevirtual org.bouncycastle.tsp.TSPValidationException.getFailureCode:()I
            aload 1 /* exception */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual org.bouncycastle.tsp.TimeStampResponseGenerator.generateFailResponse:(IILjava/lang/String;)Lorg/bouncycastle/tsp/TimeStampResponse;
            areturn
         2: .line 305
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            ldc 1073741824
            aload 1 /* exception */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual org.bouncycastle.tsp.TimeStampResponseGenerator.generateFailResponse:(IILjava/lang/String;)Lorg/bouncycastle/tsp/TimeStampResponse;
            areturn
        end local 1 // java.lang.Exception exception
        end local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/bouncycastle/tsp/TimeStampResponseGenerator;
            0    3     1  exception  Ljava/lang/Exception;
    Exceptions:
      throws org.bouncycastle.tsp.TSPException
    MethodParameters:
           Name  Flags
      exception  

  public org.bouncycastle.tsp.TimeStampResponse generateFailResponse(int, int, java.lang.String);
    descriptor: (IILjava/lang/String;)Lorg/bouncycastle/tsp/TimeStampResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
        start local 1 // int status
        start local 2 // int failInfoField
        start local 3 // java.lang.String statusString
         0: .line 321
            aload 0 /* this */
            iload 1 /* status */
            putfield org.bouncycastle.tsp.TimeStampResponseGenerator.status:I
         1: .line 322
            aload 0 /* this */
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            putfield org.bouncycastle.tsp.TimeStampResponseGenerator.statusStrings:Lorg/bouncycastle/asn1/ASN1EncodableVector;
         2: .line 324
            aload 0 /* this */
            iload 2 /* failInfoField */
            invokevirtual org.bouncycastle.tsp.TimeStampResponseGenerator.setFailInfoField:(I)V
         3: .line 326
            aload 3 /* statusString */
            ifnull 5
         4: .line 328
            aload 0 /* this */
            aload 3 /* statusString */
            invokevirtual org.bouncycastle.tsp.TimeStampResponseGenerator.addStatusString:(Ljava/lang/String;)V
         5: .line 331
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.tsp.TimeStampResponseGenerator.getPKIStatusInfo:()Lorg/bouncycastle/asn1/cmp/PKIStatusInfo;
            astore 4 /* pkiStatusInfo */
        start local 4 // org.bouncycastle.asn1.cmp.PKIStatusInfo pkiStatusInfo
         6: .line 333
            new org.bouncycastle.asn1.tsp.TimeStampResp
            dup
            aload 4 /* pkiStatusInfo */
            aconst_null
            invokespecial org.bouncycastle.asn1.tsp.TimeStampResp.<init>:(Lorg/bouncycastle/asn1/cmp/PKIStatusInfo;Lorg/bouncycastle/asn1/cms/ContentInfo;)V
            astore 5 /* resp */
        start local 5 // org.bouncycastle.asn1.tsp.TimeStampResp resp
         7: .line 337
            new org.bouncycastle.tsp.TimeStampResponse
            dup
            aload 5 /* resp */
            invokespecial org.bouncycastle.tsp.TimeStampResponse.<init>:(Lorg/bouncycastle/asn1/tsp/TimeStampResp;)V
         8: areturn
         9: .line 339
      StackMap locals: org.bouncycastle.tsp.TimeStampResponseGenerator int int java.lang.String org.bouncycastle.asn1.cmp.PKIStatusInfo org.bouncycastle.asn1.tsp.TimeStampResp
      StackMap stack: java.io.IOException
            pop
        10: .line 341
            new org.bouncycastle.tsp.TSPException
            dup
            ldc "created badly formatted response!"
            invokespecial org.bouncycastle.tsp.TSPException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // org.bouncycastle.asn1.tsp.TimeStampResp resp
        end local 4 // org.bouncycastle.asn1.cmp.PKIStatusInfo pkiStatusInfo
        end local 3 // java.lang.String statusString
        end local 2 // int failInfoField
        end local 1 // int status
        end local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/bouncycastle/tsp/TimeStampResponseGenerator;
            0   11     1         status  I
            0   11     2  failInfoField  I
            0   11     3   statusString  Ljava/lang/String;
            6   11     4  pkiStatusInfo  Lorg/bouncycastle/asn1/cmp/PKIStatusInfo;
            7   11     5           resp  Lorg/bouncycastle/asn1/tsp/TimeStampResp;
      Exception table:
        from    to  target  type
           7     8       9  Class java.io.IOException
    Exceptions:
      throws org.bouncycastle.tsp.TSPException
    MethodParameters:
               Name  Flags
      status         
      failInfoField  
      statusString   

  private java.util.Set convert(java.util.Set);
    descriptor: (Ljava/util/Set;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
        start local 1 // java.util.Set orig
         0: .line 347
            aload 1 /* orig */
            ifnonnull 2
         1: .line 349
            aload 1 /* orig */
            areturn
         2: .line 352
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            aload 1 /* orig */
            invokeinterface java.util.Set.size:()I
            invokespecial java.util.HashSet.<init>:(I)V
            astore 2 /* con */
        start local 2 // java.util.Set con
         3: .line 354
            aload 1 /* orig */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         4: goto 10
         5: .line 356
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* o */
        start local 4 // java.lang.Object o
         6: .line 358
            aload 4 /* o */
            instanceof java.lang.String
            ifeq 9
         7: .line 360
            aload 2 /* con */
            new org.bouncycastle.asn1.ASN1ObjectIdentifier
            dup
            aload 4 /* o */
            checkcast java.lang.String
            invokespecial org.bouncycastle.asn1.ASN1ObjectIdentifier.<init>:(Ljava/lang/String;)V
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         8: .line 361
            goto 10
         9: .line 364
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* con */
            aload 4 /* o */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Object o
        10: .line 354
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 3 // java.util.Iterator it
        11: .line 368
            aload 2 /* con */
            areturn
        end local 2 // java.util.Set con
        end local 1 // java.util.Set orig
        end local 0 // org.bouncycastle.tsp.TimeStampResponseGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/bouncycastle/tsp/TimeStampResponseGenerator;
            0   12     1  orig  Ljava/util/Set;
            3   12     2   con  Ljava/util/Set;
            4   11     3    it  Ljava/util/Iterator;
            6   10     4     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      orig  
}
SourceFile: "TimeStampResponseGenerator.java"
NestMembers:
  org.bouncycastle.tsp.TimeStampResponseGenerator$FailInfo
InnerClasses:
  FailInfo = org.bouncycastle.tsp.TimeStampResponseGenerator$FailInfo of org.bouncycastle.tsp.TimeStampResponseGenerator