public List<TimestampToken> getSignatureTimestamps() {
   if (signatureTimeStamps == null) {
     try {
       signatureTimeStamps =
           UnsignedAttributesHelper.getSignatureTimestamps(
               firstSignerInfo.getUnsignedAttributes());
     } catch (Exception e) {
       ExceptionHandlerTyped.<SPISignatureException>handle(SPISignatureException.class, e);
     }
   }
   return signatureTimeStamps;
 }
  protected static AttributeTable appendTimestampAttribute(
      byte[] timeStampTokenBytes, AttributeTable attributeTable) {
    Hashtable unsignedAttributesHT;
    if (attributeTable == null) {
      unsignedAttributesHT = new Hashtable();
    } else {
      unsignedAttributesHT = attributeTable.toHashtable();
    }

    try {
      UnsignedAttributesHelper.addTimestampAttribute(unsignedAttributesHT, timeStampTokenBytes);
    } catch (Exception e) {
      ExceptionHandlerTyped.<SPISignatureException>handle(SPISignatureException.class, e);
    }
    attributeTable = new AttributeTable(unsignedAttributesHT);
    return attributeTable;
  }