@SuppressWarnings("unchecked")
@Override
public <T> T getAttribute(@Nonnull String attributeName) throws UserAttributeNotFoundException {
if (!attributes.containsKey(attributeName)) {
throw new UserAttributeNotFoundException(attributeName);
}
return (T) attributes.get(attributeName);
}