code: public int doFilter(Workspace ws, DataBinder binder, ExecutionContext ctx) throws DataException, ServiceException {
      String configFileName = (String) ctx.getCachedObject("filterParameter");
  
      try {
        ClassLoader cl = getClass().getClassLoader();
        Enumeration<URL> propFiles = cl.getResources(configFileName);
  
        // There should be at least one entry (TwineLib contains an example file)
        if (!propFiles.hasMoreElements()) {
          propFiles = getResources11g(cl, configFileName);
        }
  
        while (propFiles.hasMoreElements()) {
          URL propFile = propFiles.nextElement();
  
          if (SystemUtils.m_verbose) {
            SystemUtils.trace("twine", "Loading config file: " + propFile.toString());
          }
  
          IClassInjector filterInjector = new FilterInjector();
          filterInjector.injectClasses(propFile);
  
          IClassInjector serviceInjector = new ServiceInjector();
          serviceInjector.injectClasses(propFile);
  
          IClassInjector scriptInjector = new IdocScriptInjector();
          scriptInjector.injectClasses(propFile);
  
        }
      } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
  
      return CONTINUE;
    }
docs: Begins injection of filters, including the Service and IdocScript injectors
  required to load other ucm entities.