Program: 129774
Project: 129774
Buggy source:
/** 
 * DOC amaumont Comment method "init".
 */
private static void init(){
  shortNameToJavaType=new HashMap<String,JavaType>();
  labelToJavaType=new HashMap<String,JavaType>();
  idToJavaType=new HashMap<String,JavaType>();
  canonicalClassNameToJavaType=new HashMap<String,JavaType>();
  javaTypes=new ArrayList<JavaType>();
  perlTypes=new ArrayList<String>();
  for (int i=0; i < JAVA_TYPES.length; i++) {
    JavaType javaType=JAVA_TYPES[i];
    addJavaType(javaType);
  }
  IExtensionRegistry extensionRegistry=Platform.getExtensionRegistry();
  IExtensionPoint extensionPoint=extensionRegistry.getExtensionPoint("String_Node_Str");
  IExtension[] extensions=extensionPoint.getExtensions();
  for (  IExtension extension : extensions) {
    IConfigurationElement[] configurationElements=extension.getConfigurationElements();
    for (    IConfigurationElement configurationElement : configurationElements) {
      if ("String_Node_Str".equals(configurationElement.getAttribute("String_Node_Str"))) {
        try {
          String className=configurationElement.getAttribute("String_Node_Str");
          Class myClass=Platform.getBundle(configurationElement.getContributor().getName()).loadClass(className);
          boolean isGenerateWithCanonicalName=configurationElement.getAttribute("String_Node_Str") == null ? false : Boolean.valueOf(configurationElement.getAttribute("String_Node_Str"));
          boolean isObjectBased=configurationElement.getAttribute("String_Node_Str") == null ? false : Boolean.valueOf(configurationElement.getAttribute("String_Node_Str"));
          if (myClass != null && !myClass.getName().equals("String_Node_Str")) {
            JavaType javaType=new JavaType(myClass,isGenerateWithCanonicalName,isObjectBased);
            addJavaType(javaType);
          }
        }
 catch (        InvalidRegistryObjectException e) {
          ExceptionHandler.process(e);
        }
catch (        ClassNotFoundException e) {
          ExceptionHandler.process(e);
        }
      }
    }
  }
  final String[] loadTalendTypes=MetadataTalendType.getTalendTypesLabels();
  perlTypes.addAll(Arrays.asList(loadTalendTypes));
  perlTypes.add(PERL_FILE);
  perlTypes.add(PERL_DIRECTORY);
  perlTypes.add(PERL_VALUE_LIST);
  perlTypes.add(PERL_PASSWORD);
}

Fixed version (ground truth):
/** 
 * DOC amaumont Comment method "init".
 */
private static void init(){
  shortNameToJavaType=new HashMap<String,JavaType>();
  labelToJavaType=new HashMap<String,JavaType>();
  idToJavaType=new HashMap<String,JavaType>();
  canonicalClassNameToJavaType=new HashMap<String,JavaType>();
  javaTypes=new ArrayList<JavaType>();
  perlTypes=new ArrayList<String>();
  for (int i=0; i < JAVA_TYPES.length; i++) {
    JavaType javaType=JAVA_TYPES[i];
    addJavaType(javaType);
  }
  IExtensionRegistry extensionRegistry=Platform.getExtensionRegistry();
  IExtensionPoint extensionPoint=extensionRegistry.getExtensionPoint("String_Node_Str");
  IExtension[] extensions=extensionPoint.getExtensions();
  for (  IExtension extension : extensions) {
    IConfigurationElement[] configurationElements=extension.getConfigurationElements();
    for (    IConfigurationElement configurationElement : configurationElements) {
      if ("String_Node_Str".equals(configurationElement.getAttribute("String_Node_Str"))) {
        try {
          String className=configurationElement.getAttribute("String_Node_Str");
          Class myClass=Platform.getBundle(configurationElement.getContributor().getName()).loadClass(className);
          boolean isGenerateWithCanonicalName=configurationElement.getAttribute("String_Node_Str") == null ? false : Boolean.valueOf(configurationElement.getAttribute("String_Node_Str"));
          boolean isObjectBased=configurationElement.getAttribute("String_Node_Str") == null ? false : Boolean.valueOf(configurationElement.getAttribute("String_Node_Str"));
          JavaType javaType=new JavaType(myClass,isGenerateWithCanonicalName,isObjectBased);
          addJavaType(javaType);
        }
 catch (        InvalidRegistryObjectException e) {
          ExceptionHandler.process(e);
        }
catch (        ClassNotFoundException e) {
          ExceptionHandler.process(e);
        }
      }
    }
  }
  final String[] loadTalendTypes=MetadataTalendType.getTalendTypesLabels();
  perlTypes.addAll(Arrays.asList(loadTalendTypes));
  perlTypes.add(PERL_FILE);
  perlTypes.add(PERL_DIRECTORY);
  perlTypes.add(PERL_VALUE_LIST);
  perlTypes.add(PERL_PASSWORD);
}