Program: 123391
Project: 123391
Buggy source:
protected void createPage2(){
  if (!GlobalServiceRegister.getDefault().isServiceRegistered(ICreateXtextProcessService.class)) {
    return;
  }
  String scriptValue="String_Node_Str";
  try {
    IProject currentProject=ResourceModelUtils.getProject(ProjectManager.getInstance().getCurrentProject());
    String jobScriptVersion="String_Node_Str";
    if (getEditorInput() != null && getEditorInput() instanceof RepositoryEditorInput) {
      Item item=((RepositoryEditorInput)getEditorInput()).getItem();
      if (item != null) {
        Property property=item.getProperty();
        if (property != null) {
          jobScriptVersion="String_Node_Str" + property.getVersion();
        }
      }
    }
    IFile file=currentProject.getFolder("String_Node_Str").getFile(getEditorInput().getName() + jobScriptVersion + "String_Node_Str"+ "String_Node_Str");
    ByteArrayInputStream byteArrayInputStream=new ByteArrayInputStream(scriptValue.getBytes());
    if (file.exists()) {
      file.delete(true,null);
      file.create(byteArrayInputStream,true,null);
      file.setContents(byteArrayInputStream,0,null);
    }
 else {
      file.create(byteArrayInputStream,true,null);
    }
    String pointId="String_Node_Str";
    IEditorInput editorInput=new FileEditorInput(file);
    IExtensionPoint ep=RegistryFactory.getRegistry().getExtensionPoint("String_Node_Str");
    IExtension[] extensions=ep.getExtensions();
    IExtension ex;
    IConfigurationElement confElem=null;
    for (int i=0; i < extensions.length; i++) {
      ex=extensions[i];
      if (ex.getContributor().getName().equals("String_Node_Str")) {
        for (        IConfigurationElement c : ex.getConfigurationElements()) {
          if (c.getName().equals("String_Node_Str") && c.getAttribute("String_Node_Str").equals(pointId)) {
            confElem=c;
            break;
          }
        }
      }
    }
    if (confElem != null) {
      TextEditor editor=(TextEditor)confElem.createExecutableExtension("String_Node_Str");
      if (editor != null) {
        int index=addPage(editor,editorInput);
        setPageText(index,"String_Node_Str");
      }
    }
  }
 catch (  PartInitException e) {
    ExceptionHandler.process(e);
  }
catch (  PersistenceException e) {
    ExceptionHandler.process(e);
  }
catch (  CoreException e) {
    ExceptionHandler.process(e);
  }
}

Fixed version (ground truth):
protected void createPage2(){
  if (!GlobalServiceRegister.getDefault().isServiceRegistered(ICreateXtextProcessService.class)) {
    return;
  }
  String scriptValue="String_Node_Str";
  try {
    IProject currentProject=ResourceModelUtils.getProject(ProjectManager.getInstance().getCurrentProject());
    String jobScriptVersion="String_Node_Str";
    if (getEditorInput() != null && getEditorInput() instanceof RepositoryEditorInput) {
      Item item=((RepositoryEditorInput)getEditorInput()).getItem();
      if (item != null) {
        Property property=item.getProperty();
        if (property != null) {
          jobScriptVersion="String_Node_Str" + property.getVersion();
        }
      }
    }
    IFile file=currentProject.getFolder("String_Node_Str").getFile(getEditorInput().getName() + jobScriptVersion + "String_Node_Str"+ "String_Node_Str");
    ByteArrayInputStream byteArrayInputStream=new ByteArrayInputStream(scriptValue.getBytes());
    if (file.exists()) {
      file.delete(true,null);
      file.create(byteArrayInputStream,true,null);
      file.setContents(byteArrayInputStream,0,null);
    }
 else {
      file.create(byteArrayInputStream,true,null);
    }
    String pointId="String_Node_Str";
    IEditorInput editorInput=new FileEditorInput(file);
    IExtensionPoint ep=RegistryFactory.getRegistry().getExtensionPoint("String_Node_Str");
    IExtension[] extensions=ep.getExtensions();
    IExtension ex;
    IConfigurationElement confElem=null;
    for (    IExtension extension : extensions) {
      ex=extension;
      if (ex.getContributor().getName().equals("String_Node_Str")) {
        for (        IConfigurationElement c : ex.getConfigurationElements()) {
          if (c.getName().equals("String_Node_Str") && c.getAttribute("String_Node_Str").equals(pointId)) {
            confElem=c;
            break;
          }
        }
      }
    }
    if (confElem != null) {
      TextEditor editor=(TextEditor)confElem.createExecutableExtension("String_Node_Str");
      if (editor != null) {
        int index=addPage(editor,editorInput);
        setPageText(index,"String_Node_Str");
      }
    }
  }
 catch (  PartInitException e) {
    ExceptionHandler.process(e);
  }
catch (  PersistenceException e) {
    ExceptionHandler.process(e);
  }
catch (  CoreException e) {
    ExceptionHandler.process(e);
  }
}