Program: 19839
Project: 19839
Buggy source:
/** 
 * Loads the given front end, and returns its last DataProcessor.
 * @param name the name of the front end to load
 * @param props the SphinxProperty to use
 */
private static FrontEnd loadFrontEnd(String frontEndName,SphinxProperties props){
  FrontEnd frontend=(FrontEnd)frontends.get(frontEndName);
  if (frontend == null) {
    int nStages=props.getInt(frontEndName + "String_Node_Str" + PROP_PREFIX+ "String_Node_Str",0);
    debugMessage("String_Node_Str" + frontEndName + "String_Node_Str"+ nStages+ "String_Node_Str");
    DataProcessor firstProcessor=null;
    DataProcessor lastProcessor=null;
    for (int i=1; i <= nStages; i++) {
      String prefix=frontEndName + "String_Node_Str" + PROP_PREFIX+ "String_Node_Str"+ i+ "String_Node_Str";
      String className=props.getString(prefix + "String_Node_Str",null);
      if (className == null) {
        throw new Error("String_Node_Str" + frontEndName + "String_Node_Str"+ i);
      }
 else {
        try {
          DataProcessor processor=(DataProcessor)Class.forName(className).newInstance();
          processor.initialize(getClassName(className),frontEndName,props,lastProcessor);
          if (firstProcessor == null) {
            firstProcessor=processor;
          }
          lastProcessor=processor;
        }
 catch (        InstantiationException ie) {
          ie.printStackTrace();
          throw new Error("String_Node_Str" + className);
        }
catch (        ClassNotFoundException cnfe) {
          cnfe.printStackTrace();
          throw new Error("String_Node_Str" + className + "String_Node_Str");
        }
catch (        IllegalAccessException iae) {
          iae.printStackTrace();
          throw new Error("String_Node_Str" + className);
        }
      }
    }
    frontend=new FrontEnd(firstProcessor,lastProcessor);
    frontend.initialize(frontEndName,frontEndName,props,null);
    frontends.put(frontEndName,frontend);
  }
  return frontend;
}

Fixed version (ground truth):
/** 
 * Loads the given front end, and returns its last DataProcessor.
 * @param name the name of the front end to load
 * @param props the SphinxProperty to use
 * @return the FrontEnd with the given name
 */
private static FrontEnd loadFrontEnd(String frontEndName,SphinxProperties props){
  FrontEnd frontend=(FrontEnd)frontends.get(frontEndName);
  if (frontend == null) {
    int nStages=props.getInt(frontEndName + "String_Node_Str" + PROP_PREFIX+ "String_Node_Str",0);
    debugMessage("String_Node_Str" + frontEndName + "String_Node_Str"+ nStages+ "String_Node_Str");
    DataProcessor firstProcessor=null;
    DataProcessor lastProcessor=null;
    for (int i=1; i <= nStages; i++) {
      String prefix=frontEndName + "String_Node_Str" + PROP_PREFIX+ "String_Node_Str"+ i+ "String_Node_Str";
      String className=props.getString(prefix + "String_Node_Str",null);
      if (className == null) {
        throw new Error("String_Node_Str" + frontEndName + "String_Node_Str"+ i);
      }
 else {
        try {
          DataProcessor processor=(DataProcessor)Class.forName(className).newInstance();
          processor.initialize(getClassName(className),frontEndName,props,lastProcessor);
          if (firstProcessor == null) {
            firstProcessor=processor;
          }
          lastProcessor=processor;
        }
 catch (        InstantiationException ie) {
          ie.printStackTrace();
          throw new Error("String_Node_Str" + className);
        }
catch (        ClassNotFoundException cnfe) {
          cnfe.printStackTrace();
          throw new Error("String_Node_Str" + className + "String_Node_Str");
        }
catch (        IllegalAccessException iae) {
          iae.printStackTrace();
          throw new Error("String_Node_Str" + className);
        }
      }
    }
    frontend=new FrontEnd(firstProcessor,lastProcessor);
    frontend.initialize(frontEndName,frontEndName,props,null);
    frontends.put(frontEndName,frontend);
  }
  return frontend;
}