Program: 29602
Project: 29602
Buggy source:
@Override public void run(){
  try {
    executeCommand(params);
    aReport.setActionExitCode(ActionReport.ExitCode.SUCCESS);
    if (StringUtils.ok(getCommandOutput()))     aReport.setMessage(strings.getLocalString("String_Node_Str","String_Node_Str",getServer().getName(),getCommandOutput()));
    Map<String,String> attributes=this.getAttributes();
    for (    Map.Entry<String,String> ae : attributes.entrySet()) {
      String key=ae.getKey();
      if (key.endsWith("String_Node_Str"))       continue;
      if (!key.endsWith("String_Node_Str")) {
        aReport.getTopMessagePart().addProperty(key,ae.getValue());
        continue;
      }
      String keyWithoutSuffix=key.substring(0,key.lastIndexOf("String_Node_Str"));
      aReport.getTopMessagePart().addProperty(keyWithoutSuffix,attributes.get(keyWithoutSuffix + "String_Node_Str"));
    }
  }
 catch (  CommandException cmdEx) {
    ActionReport.ExitCode finalResult;
    if (cmdEx.getCause() instanceof java.net.ConnectException) {
      finalResult=FailurePolicy.applyFailurePolicy(offlinePolicy,ActionReport.ExitCode.FAILURE);
      if (!finalResult.equals(ActionReport.ExitCode.FAILURE))       aReport.setMessage(strings.getLocalString("String_Node_Str","String_Node_Str",getServer().getName(),commandName));
 else       aReport.setMessage(strings.getLocalString("String_Node_Str","String_Node_Str",getServer().getName(),commandName));
    }
 else {
      finalResult=FailurePolicy.applyFailurePolicy(failPolicy,ActionReport.ExitCode.FAILURE);
      if (finalResult.equals(ActionReport.ExitCode.FAILURE))       aReport.setMessage(strings.getLocalString("String_Node_Str","String_Node_Str",commandName,getServer().getName(),cmdEx.getMessage()));
 else       aReport.setMessage(strings.getLocalString("String_Node_Str","String_Node_Str",commandName,getServer().getName(),cmdEx.getMessage()));
    }
    aReport.setActionExitCode(finalResult);
  }
  result.setInstanceCommand(this);
}

Fixed version (ground truth):
@Override public void run(){
  try {
    executeCommand(params);
    aReport.setActionExitCode(ActionReport.ExitCode.SUCCESS);
    if (StringUtils.ok(getCommandOutput()))     aReport.setMessage(strings.getLocalString("String_Node_Str","String_Node_Str",getServer().getName(),getCommandOutput()));
    Map<String,String> attributes=this.getAttributes();
    for (    Map.Entry<String,String> ae : attributes.entrySet()) {
      String key=ae.getKey();
      if (key.endsWith("String_Node_Str"))       continue;
      if (!key.endsWith("String_Node_Str")) {
        if (ae.getValue() != null) {
          aReport.getTopMessagePart().addProperty(key,ae.getValue());
        }
        continue;
      }
      String keyWithoutSuffix=key.substring(0,key.lastIndexOf("String_Node_Str"));
      aReport.getTopMessagePart().addProperty(keyWithoutSuffix,attributes.get(keyWithoutSuffix + "String_Node_Str"));
    }
  }
 catch (  CommandException cmdEx) {
    ActionReport.ExitCode finalResult;
    if (cmdEx.getCause() instanceof java.net.ConnectException) {
      finalResult=FailurePolicy.applyFailurePolicy(offlinePolicy,ActionReport.ExitCode.FAILURE);
      if (!finalResult.equals(ActionReport.ExitCode.FAILURE))       aReport.setMessage(strings.getLocalString("String_Node_Str","String_Node_Str",getServer().getName(),commandName));
 else       aReport.setMessage(strings.getLocalString("String_Node_Str","String_Node_Str",getServer().getName(),commandName));
    }
 else {
      finalResult=FailurePolicy.applyFailurePolicy(failPolicy,ActionReport.ExitCode.FAILURE);
      if (finalResult.equals(ActionReport.ExitCode.FAILURE))       aReport.setMessage(strings.getLocalString("String_Node_Str","String_Node_Str",commandName,getServer().getName(),cmdEx.getMessage()));
 else       aReport.setMessage(strings.getLocalString("String_Node_Str","String_Node_Str",commandName,getServer().getName(),cmdEx.getMessage()));
    }
    aReport.setActionExitCode(finalResult);
  }
  result.setInstanceCommand(this);
}