*/
public void handle(Callback[] callbacks) throws IOException,
UnsupportedCallbackException {
for (Callback cb : callbacks) {
if (cb instanceof NameCallback) {
Credentials creds = getCredentials();
NameCallback nameCallback = (NameCallback) cb;
if (creds instanceof TrustedCredentials) {
nameCallback.setName(((TrustedCredentials) creds)
.getPrincipal().getName());
return;
}
} else if (cb instanceof ImpersonationCallback) {
Credentials creds = getCredentials();
ImpersonationCallback impersonationCallback = (ImpersonationCallback) cb;
if (creds instanceof TrustedCredentials) {
impersonationCallback
.setImpersonator(((TrustedCredentials) creds)
.getImpersonator());