Program: 10769
Project: 10769
Buggy source:
private Class<?> getOrCreateClass(Props props){
  Class<?> clazz=null;
  String complexTypeName=(String)props.getProp("String_Node_Str");
  String moduleName=(String)props.getProp("String_Node_Str");
  String moduleNameInit=moduleName.substring(0,1).toUpperCase();
  String moduleNameEnd=moduleName.substring(1,moduleName.length());
  if (complexTypeName != null) {
    try {
      String classPackageName=(MODULE_INFO_PACKAGE + "String_Node_Str" + moduleNameInit+ moduleNameEnd+ "String_Node_Str");
      String packageName=packageNames.get(classPackageName);
      if (packageName == null) {
        Class<?> clazzPackage=Class.forName(classPackageName);
        Method method=clazzPackage.getMethod("String_Node_Str");
        packageName=(String)method.invoke(clazzPackage);
        packageNames.put(classPackageName,packageName);
      }
      String className=(packageName + "String_Node_Str" + complexTypeName);
      clazz=usedClasses.get(className);
      if (clazz == null) {
        clazz=Class.forName(className);
        usedClasses.put(className,clazz);
      }
    }
 catch (    ClassNotFoundException e) {
      throw new ProtocolException("String_Node_Str" + complexTypeName + "String_Node_Str",e);
    }
catch (    NoSuchMethodException e) {
      throw new ProtocolException("String_Node_Str",e);
    }
catch (    SecurityException e) {
      throw new ProtocolException("String_Node_Str",e);
    }
catch (    IllegalAccessException e) {
      throw new ProtocolException("String_Node_Str",e);
    }
catch (    IllegalArgumentException e) {
      throw new ProtocolException("String_Node_Str",e);
    }
catch (    InvocationTargetException e) {
      throw new ProtocolException("String_Node_Str",e);
    }
  }
  return clazz;
}

Fixed version (ground truth):
private Class<?> getOrCreateClass(Props props){
  Class<?> clazz=null;
  String complexTypeName=(String)props.getProp("String_Node_Str");
  String moduleName=(String)props.getProp("String_Node_Str");
  String moduleNameInit=moduleName.substring(0,1).toUpperCase();
  String moduleNameEnd=moduleName.substring(1,moduleName.length());
  if (complexTypeName != null) {
    try {
      String classPackageName=MODULE_INFO_PACKAGE + "String_Node_Str" + moduleNameInit+ moduleNameEnd+ "String_Node_Str";
      String packageName=packageNames.get(classPackageName);
      if (packageName == null) {
        Class<?> clazzPackage=Class.forName(classPackageName);
        Method method=clazzPackage.getMethod("String_Node_Str");
        packageName=(String)method.invoke(clazzPackage);
        packageNames.put(classPackageName,packageName);
      }
      String className=packageName + "String_Node_Str" + complexTypeName;
      clazz=usedClasses.get(className);
      if (clazz == null) {
        clazz=Class.forName(className);
        usedClasses.put(className,clazz);
      }
    }
 catch (    ClassNotFoundException e) {
      throw new ProtocolException("String_Node_Str" + complexTypeName + "String_Node_Str",e);
    }
catch (    NoSuchMethodException e) {
      throw new ProtocolException("String_Node_Str",e);
    }
catch (    SecurityException e) {
      throw new ProtocolException("String_Node_Str",e);
    }
catch (    IllegalAccessException e) {
      throw new ProtocolException("String_Node_Str",e);
    }
catch (    IllegalArgumentException e) {
      throw new ProtocolException("String_Node_Str",e);
    }
catch (    InvocationTargetException e) {
      throw new ProtocolException("String_Node_Str",e);
    }
  }
  return clazz;
}