try {
Source source = resolver.resolveURI(uri);
if (source instanceof RestrictableSource) {
RestrictableSource restrictablesource = (RestrictableSource)source;
restrictablesource.setSourceCredential(new SourceCredential(principal, password));
SourcePermission permission =
new PrincipalSourcePermission(subject, privilege, inheritable, negative);
restrictablesource.removeSourcePermission(permission);
} else
throw new ProcessingException("Source isn't restrictable");
} catch (SourceException se) {
if (getLogger().isDebugEnabled())
getLogger().debug("Exception occurs while modifying the source", se);