private static synchronized void loadConfigProcessors(
      final EDLController edlController, final EDLGlobalConfig edlGlobalConfig) throws Exception {
    EDocLiteAssociation edlAssociation = edlController.getEdocLiteAssociation();
    // these are classes mapped to the conf element from the edlconfig.
    Document document = getEDLService().getDefinitionXml(edlAssociation);
    Element definitionElement = (Element) document.getFirstChild();

    Map configProcessorMappings = new LinkedHashMap();
    edlController.setEdlGlobalConfig(edlGlobalConfig);
    NodeList edlDefinitionNodes = definitionElement.getChildNodes();
    for (int i = 0; i < edlDefinitionNodes.getLength(); i++) {
      Node definitionNode = edlDefinitionNodes.item(i);
      Class configProcessorClass = edlGlobalConfig.getConfigProcessor(definitionNode);
      if (configProcessorClass != null) {
        configProcessorMappings.put(definitionNode, configProcessorClass);
      }
    }
    edlController.setConfigProcessors(
        cloneConfigMap(configProcessorMappings, edlController.getDefaultDOM()));
  }
 private static synchronized void loadStateComponents(
     EDLController edlController, EDLGlobalConfig edlGlobalConfig) {
   edlController.setStateComponents(
       cloneConfigMap(edlGlobalConfig.getStateComponents(), edlController.getDefaultDOM()));
 }
 private static synchronized void loadPostProcessor(
     EDLController edlController, EDLGlobalConfig edlGlobalConfig) {
   edlController.setPostProcessors(
       cloneConfigMap(edlGlobalConfig.getPostProcessors(), edlController.getDefaultDOM()));
 }