public IProxyCredentials getProxyCredentials(URI link) throws CredentialsException {
String protocol = link.getScheme();
/* Require protocol */
if (!StringUtils.isSet(protocol))
throw new CredentialsException(Activator.getDefault().createErrorStatus("Unknown protocol", null));
/* Require credentials provider */
ICredentialsProvider credentialsProvider = fCredentialsProvider.get(protocol);
if (credentialsProvider == null)
throw new CredentialsException(Activator.getDefault().createErrorStatus("Could not find any credentials provider for protocol: " + protocol, null));
/* Retrieve Credentials */
IProxyCredentials credentials = credentialsProvider.getProxyCredentials(link);
return credentials;
}