Program: 120688
Project: 120688
Buggy source:
@Override protected IStatus run(IProgressMonitor monitor){
switch (codeView) {
case CODE_START:
    try {
      generatedCode=codeGenerator.generateComponentCode(generatingNode,ECodePart.BEGIN);
    }
 catch (    SystemException e) {
      ExceptionHandler.process(e);
    }
  break;
case CODE_MAIN:
try {
  generatedCode=codeGenerator.generateComponentCode(generatingNode,ECodePart.MAIN);
}
 catch (SystemException e) {
  ExceptionHandler.process(e);
}
break;
case CODE_END:
try {
generatedCode=codeGenerator.generateComponentCode(generatingNode,ECodePart.END);
}
 catch (SystemException e) {
ExceptionHandler.process(e);
}
break;
case CODE_ALL:
try {
generatedCode=codeGenerator.generateComponentCode(generatingNode,ECodePart.BEGIN);
}
 catch (SystemException e) {
ExceptionHandler.process(e);
}
try {
generatedCode+=codeGenerator.generateComponentCode(generatingNode,ECodePart.MAIN);
}
 catch (SystemException e) {
ExceptionHandler.process(e);
}
try {
generatedCode+=codeGenerator.generateComponentCode(generatingNode,ECodePart.END);
}
 catch (SystemException e) {
e.printStackTrace();
}
break;
default :
}
return org.eclipse.core.runtime.Status.OK_STATUS;
}

Fixed version (ground truth):
@Override protected IStatus run(IProgressMonitor monitor){
  if (selectedNode != null) {
    generatedCode="String_Node_Str";
    boolean isJoblet=AbstractProcessProvider.isExtensionProcessForJoblet(selectedNode.getProcess());
    if (!isJoblet && PluginChecker.isJobLetPluginLoaded()) {
      IJobletProviderService jobletSservice=(IJobletProviderService)GlobalServiceRegister.getDefault().getService(IJobletProviderService.class);
      if (jobletSservice != null && jobletSservice.isJobletComponent(selectedNode)) {
        isJoblet=true;
      }
    }
    if (isJoblet) {
      return org.eclipse.core.runtime.Status.OK_STATUS;
    }
    generatingNode=null;
    for (    INode node : selectedNode.getProcess().getGeneratingNodes()) {
      if (node.getUniqueName().equals(selectedNode.getUniqueName())) {
        generatingNode=node;
      }
    }
    if (generatingNode == null) {
      generatedCode=Messages.getString("String_Node_Str");
      return org.eclipse.core.runtime.Status.OK_STATUS;
    }
    if (codeGenerator == null) {
      ICodeGeneratorService service=DesignerPlugin.getDefault().getCodeGeneratorService();
      codeGenerator=service.createCodeGenerator();
    }
    viewStartAction.setChecked(false);
    viewMainAction.setChecked(false);
    viewEndAction.setChecked(false);
    viewAllAction.setChecked(false);
switch (codeView) {
case CODE_START:
      viewStartAction.setChecked(true);
    break;
case CODE_MAIN:
  viewMainAction.setChecked(true);
break;
case CODE_END:
viewEndAction.setChecked(true);
break;
case CODE_ALL:
viewAllAction.setChecked(true);
break;
default :
}
switch (codeView) {
case CODE_START:
try {
generatedCode=codeGenerator.generateComponentCode(generatingNode,ECodePart.BEGIN);
}
 catch (SystemException e) {
ExceptionHandler.process(e);
}
break;
case CODE_MAIN:
try {
generatedCode=codeGenerator.generateComponentCode(generatingNode,ECodePart.MAIN);
}
 catch (SystemException e) {
ExceptionHandler.process(e);
}
break;
case CODE_END:
try {
generatedCode=codeGenerator.generateComponentCode(generatingNode,ECodePart.END);
}
 catch (SystemException e) {
ExceptionHandler.process(e);
}
break;
case CODE_ALL:
try {
generatedCode=codeGenerator.generateComponentCode(generatingNode,ECodePart.BEGIN);
}
 catch (SystemException e) {
ExceptionHandler.process(e);
}
try {
generatedCode+=codeGenerator.generateComponentCode(generatingNode,ECodePart.MAIN);
}
 catch (SystemException e) {
ExceptionHandler.process(e);
}
try {
generatedCode+=codeGenerator.generateComponentCode(generatingNode,ECodePart.END);
}
 catch (SystemException e) {
e.printStackTrace();
}
break;
default :
}
}
return org.eclipse.core.runtime.Status.OK_STATUS;
}