Program: 146180
Project: 146180
Buggy source:
/** 
 * Executes a plugin
 * @param globalContext
 * @param pluginNumber
 * @throws XtentisException
 */
protected void executePlugin(TransformerGlobalContext globalContext,int pluginNumber) throws XtentisException {
  TransformerV2POJO transformerPOJO=globalContext.getTransformerPOJO();
  TransformerProcessStep processStep=transformerPOJO.getProcessSteps().get(pluginNumber);
  TransformerPluginContext pluginContext=globalContext.getTransformerPluginContext(pluginNumber);
  HashMap<Integer,TransformerPluginV2LocalInterface> instantiatedPlugins=globalContext.getInstantiatedPlugins();
  String parameters=processStep.getCompiledParameters();
  org.apache.log4j.Logger.getLogger(this.getClass()).debug("String_Node_Str" + processStep.getDescription() + "String_Node_Str"+ processStep.getPluginJNDI());
  TransformerPluginV2LocalInterface plugin=null;
  if ((plugin=instantiatedPlugins.get(new Integer(pluginNumber))) == null) {
    try {
      plugin=getPlugin(processStep.getPluginJNDI());
      plugin.setGlobalContext(globalContext);
      plugin.init(globalContext.getTransformerPluginContext(pluginNumber),parameters);
    }
 catch (    XtentisException e) {
      throw (e);
    }
    instantiatedPlugins.put(new Integer(pluginNumber),plugin);
  }
  try {
    ArrayList<TransformerPluginVariableDescriptor> descriptors=plugin.getInputVariableDescriptors("String_Node_Str");
    for (Iterator<TransformerPluginVariableDescriptor> iter=descriptors.iterator(); iter.hasNext(); ) {
      TransformerPluginVariableDescriptor descriptor=iter.next();
      TypedContent content=getMappedInputVariable(descriptor,processStep,globalContext);
      if (content instanceof TypedContent_Do_Not_Process) {
        String msg="String_Node_Str" + processStep.getDescription() + "String_Node_Str"+ globalContext.getTransformerV2POJOPK().getUniqueId()+ "String_Node_Str"+ "String_Node_Str"+ descriptor.getVariableName()+ "String_Node_Str";
        org.apache.log4j.Logger.getLogger(this.getClass()).debug("String_Node_Str" + msg);
        return;
      }
      pluginContext.put(descriptor.getVariableName(),content);
    }
  }
 catch (  XtentisException e) {
    throw (e);
  }
catch (  Exception e) {
    String err="String_Node_Str" + processStep.getDescription() + "String_Node_Str"+ globalContext.getTransformerV2POJOPK().getUniqueId()+ "String_Node_Str"+ "String_Node_Str"+ e.getClass().getName()+ "String_Node_Str"+ e.getMessage();
    org.apache.log4j.Logger.getLogger(this.getClass()).error("String_Node_Str" + err);
    throw new XtentisException(err);
  }
  try {
    pluginContext.setPluginCallBack(this);
    plugin.execute(pluginContext);
  }
 catch (  XtentisException e) {
    throw (e);
  }
}

Fixed version (ground truth):
/** 
 * Executes a plugin
 * @param globalContext
 * @param pluginNumber
 * @throws XtentisException
 */
protected void executePlugin(TransformerGlobalContext globalContext,int pluginNumber) throws XtentisException {
  TransformerV2POJO transformerPOJO=globalContext.getTransformerPOJO();
  TransformerProcessStep processStep=transformerPOJO.getProcessSteps().get(pluginNumber);
  TransformerPluginContext pluginContext=globalContext.getTransformerPluginContext(pluginNumber);
  HashMap<Integer,TransformerPluginV2LocalInterface> instantiatedPlugins=globalContext.getInstantiatedPlugins();
  String parameters=processStep.getCompiledParameters();
  org.apache.log4j.Logger.getLogger(this.getClass()).debug("String_Node_Str" + processStep.getDescription() + "String_Node_Str"+ processStep.getPluginJNDI());
  TransformerPluginV2LocalInterface plugin=null;
  if ((plugin=instantiatedPlugins.get(new Integer(pluginNumber))) == null) {
    try {
      plugin=getPlugin(processStep.getPluginJNDI());
      plugin.setGlobalContext(globalContext);
      plugin.init(globalContext.getTransformerPluginContext(pluginNumber),parameters);
    }
 catch (    XtentisException e) {
      throw (e);
    }
    instantiatedPlugins.put(new Integer(pluginNumber),plugin);
  }
  try {
    ArrayList<TransformerPluginVariableDescriptor> descriptors=plugin.getInputVariableDescriptors("String_Node_Str");
    for (Iterator<TransformerPluginVariableDescriptor> iter=descriptors.iterator(); iter.hasNext(); ) {
      TransformerPluginVariableDescriptor descriptor=iter.next();
      TypedContent content=getMappedInputVariable(descriptor,processStep,globalContext);
      if (content instanceof TypedContent_Do_Not_Process) {
        String msg="String_Node_Str" + processStep.getDescription() + "String_Node_Str"+ globalContext.getTransformerV2POJOPK().getUniqueId()+ "String_Node_Str"+ "String_Node_Str"+ descriptor.getVariableName()+ "String_Node_Str";
        org.apache.log4j.Logger.getLogger(this.getClass()).debug("String_Node_Str" + msg);
        return;
      }
      pluginContext.put(descriptor.getVariableName(),content);
    }
  }
 catch (  XtentisException e) {
    throw (e);
  }
catch (  Exception e) {
    String err="String_Node_Str" + processStep.getDescription() + "String_Node_Str"+ globalContext.getTransformerV2POJOPK().getUniqueId()+ "String_Node_Str"+ "String_Node_Str"+ e.getClass().getName()+ "String_Node_Str"+ e.getMessage();
    org.apache.log4j.Logger.getLogger(this.getClass()).error("String_Node_Str" + err);
    throw new XtentisException(err);
  }
  try {
    pluginContext.setPluginCallBack(this);
    if (!processStep.isDisabled()) {
      plugin.execute(pluginContext);
    }
 else {
      pluginContext.getPluginCallBack().contentIsReady(pluginContext);
    }
  }
 catch (  XtentisException e) {
    throw (e);
  }
}