getLogger().debug("Policy URL: " + policyUrl);
source = resolver.resolveURI("cocoon://" + policyUrl);
Document document = DocumentHelper.readDocument(source.getInputStream());
policy = new PolicyBuilder(accreditableManager).buildPolicy(document);
} catch (SourceNotFoundException e) {
throw new AccessControlException(e);
} catch (ServiceException e) {
throw new AccessControlException(e);
} catch (MalformedURLException e) {
throw new AccessControlException(e);
} catch (IOException e) {
throw new AccessControlException(e);
} catch (ParserConfigurationException e) {
throw new AccessControlException(e);
} catch (SAXException e) {
throw new AccessControlException(e);
} catch (AccessControlException e) {
throw new AccessControlException(e);
} finally {
if (resolver != null) {
if (source != null) {
resolver.release(source);
}