protected static String generateKey(PIPRequest pipRequest) {
   StringBuilder stringBuilder = new StringBuilder(pipRequest.getCategory().toString());
   stringBuilder.append('+');
   stringBuilder.append(pipRequest.getAttributeId());
   stringBuilder.append('+');
   stringBuilder.append(pipRequest.getDataTypeId());
   String issuer = pipRequest.getIssuer();
   if (issuer != null) {
     stringBuilder.append('+');
     stringBuilder.append(issuer);
   }
   return stringBuilder.toString();
 }
 protected Attribute findAttribute(PIPRequest pipRequest) {
   Attribute attributeResult = null;
   Iterator<Attribute> iterAttributes = this.listAttributes.iterator();
   while (attributeResult == null && iterAttributes.hasNext()) {
     Attribute attributeTest = iterAttributes.next();
     if (pipRequest.getCategory().equals(attributeTest.getCategory())
         && pipRequest.getAttributeId().equals(attributeTest.getAttributeId())
         && (pipRequest.getIssuer() == null
             || pipRequest.getIssuer().equals(attributeTest.getIssuer()))) {
       attributeResult = attributeTest;
     }
   }
   return attributeResult;
 }