public PortalFilterDescriptor(String descriptorFile) throws PersistenceManagerException {
   PersistenceManagerXml pmXML =
       JavaXMLBindingFactory.createPersistenceManagerXml(descriptorFile, FILTER_MAPPING_PATH);
   PortalFilterCollection portalFilterCollection = (PortalFilterCollection) pmXML.load();
   List<PortalFilterDefinition> portalFilterList = portalFilterCollection.getPortalFilterList();
   for (PortalFilterDefinition def : portalFilterList) {
     String filterImpl = def.getImplementation();
     try {
       PortalFilter filterClass = (PortalFilter) Class.forName(filterImpl).newInstance();
       PortalFilterConfig filterConfig = new PortalFilterConfigImpl(def.getConfigProperties());
       filterClass.init(filterConfig);
       portalFilters.add(filterClass);
     } catch (ClassNotFoundException e) {
       log.error("Unable to find filter class: " + filterImpl, e);
     } catch (InstantiationException e) {
       log.error("Unable to instantiate filter class: " + filterImpl, e);
     } catch (IllegalAccessException e) {
       log.error("Illegal access on filter class: " + filterImpl, e);
     }
   }
 }