try {
mapValues = connector.getUserClaimValues(userId, claimList.toArray(claimArray), null);
ite = requestedClaims.values().iterator();
while (ite.hasNext()) {
SAMLAttribute attribute = null;
Attribute saml2Attribute = null;
RequestedClaimData claimData = ite.next();
claimData.setValue(mapValues.get(claimData.getUri()));
if (claimData.getValue() != null) {
if (RahasConstants.TOK_TYPE_SAML_20.equals(rahasData.getTokenType())) {
saml2Attribute = getSAML2Attribute(supportedClaims.get(claimData.getUri())
.getDisplayTag(), claimData.getValue(), claimData.getUri());
callback.addAttributes(saml2Attribute);
} else {
attribute = new SAMLAttribute(supportedClaims.get(claimData.getUri())
.getDisplayTag(), claimData.getUri(), null, -1, Arrays
.asList(new String[]{claimData.getValue()}));
callback.addAttributes(attribute);
}
}