if ( ctx.getAuthenticationInfo() != null ) {
names.addAll(ctx.getAuthenticationInfo().keySet());
}
final Iterator<AttributableResourceProvider> i = this.attributableProviders.getProviders(ctx, null);
while ( i.hasNext() ) {
final AttributableResourceProvider adap = i.next();
final Collection<String> newNames = adap.getAttributeNames(resolver);
if ( newNames != null ) {
names.addAll(newNames);
}
}
names.remove(FORBIDDEN_ATTRIBUTE);