code: @SuppressWarnings("unchecked")
     protected IndexerChangesFilter initializeChangesFilter() throws RepositoryException,
        RepositoryConfigurationException
  
     {
        IndexerChangesFilter newChangesFilter = null;
        Class<? extends IndexerChangesFilter> changesFilterClass = DefaultChangesFilter.class;
        String changesFilterClassName = config.getParameterValue(QueryHandlerParams.PARAM_CHANGES_FILTER_CLASS, null);
        try
        {
           if (changesFilterClassName != null)
           {
              changesFilterClass =
                 (Class<? extends IndexerChangesFilter>)ClassLoading.forName(changesFilterClassName, this);
           }
           Constructor<? extends IndexerChangesFilter> constuctor =
              changesFilterClass.getConstructor(SearchManager.class, SearchManager.class, QueryHandlerEntry.class,
                 IndexingTree.class, IndexingTree.class, QueryHandler.class, QueryHandler.class,
                 ConfigurationManager.class);
           if (parentSearchManager != null)
           {
              newChangesFilter =
                 constuctor.newInstance(this, parentSearchManager, config, indexingTree,
                    parentSearchManager.getIndexingTree(), handler, parentSearchManager.getHandler(), cfm);
           }
        }
        catch (SecurityException e)
        {
           throw new RepositoryException(e.getMessage(), e);
        }
        catch (IllegalArgumentException e)
        {
           throw new RepositoryException(e.getMessage(), e);
        }
        catch (ClassNotFoundException e)
        {
           throw new RepositoryException(e.getMessage(), e);
        }
        catch (NoSuchMethodException e)
        {
           throw new RepositoryException(e.getMessage(), e);
        }
        catch (InstantiationException e)
        {
           throw new RepositoryException(e.getMessage(), e);
        }
        catch (IllegalAccessException e)
        {
           throw new RepositoryException(e.getMessage(), e);
        }
        catch (InvocationTargetException e)
        {
           throw new RepositoryException(e.getMessage(), e);
        }
        return newChangesFilter;
     }
docs: Initialize changes filter.
  @throws RepositoryException
  @throws RepositoryConfigurationException
  @throws SecurityException