Program: 133474
Project: 133474
Buggy source:
/** 
 * This private method is used to create a new ICEUpdater block for the launch. It checks to see if one can, or even should be created, and then creates it, configures it, and adds it to the tree.
 * @param isRemote
 * @return
 */
private void createICEUpdaterBlock(String host){
  TreeComposite outputs=getTopLevelTreeByName("String_Node_Str");
  TreeComposite postProcessors=getTopLevelTreeByName("String_Node_Str");
  TreeComposite iceUpdater=null;
  boolean display=false, iNeedUpdater=true, updaterExists=false;
  for (int i=0; i < outputs.getNumberOfChildren(); i++) {
    if ("String_Node_Str".equals(outputs.getChildAtIndex(i).getName())) {
      updaterExists=true;
      break;
    }
  }
  if (postProcessors == null || !postProcessors.isActive() || postProcessors.getNumberOfChildren() < 1 || !updaterExists) {
    return;
  }
  DataComponent displayPPs=(DataComponent)form.getComponent(MOOSE.ppDataId);
  for (  Entry e : displayPPs.retrieveAllEntries()) {
    if (e.getValue().equals("String_Node_Str")) {
      display=true;
      break;
    }
  }
  if (display) {
    for (int i=0; i < outputs.getNumberOfChildren(); i++) {
      if ("String_Node_Str".equals(outputs.getChildAtIndex(i).getName())) {
        iceUpdater=outputs.getChildAtIndex(i);
        DataComponent data=(DataComponent)iceUpdater.getDataNodes().get(0);
        Entry itemIdEntry=data.retrieveEntry("String_Node_Str");
        if (Integer.valueOf(itemIdEntry.getValue()) != getId()) {
          itemIdEntry.setValue(String.valueOf(getId()));
        }
        data.retrieveEntry("String_Node_Str").setValue("String_Node_Str" + host + "String_Node_Str"+ System.getProperty("String_Node_Str")+ "String_Node_Str");
        iNeedUpdater=false;
        break;
      }
    }
    if (iNeedUpdater) {
      for (int i=0; i < outputs.getChildExemplars().size(); i++) {
        if ("String_Node_Str".equals(outputs.getChildExemplars().get(i).getName())) {
          iceUpdater=(TreeComposite)outputs.getChildExemplars().get(i).clone();
          outputs.setNextChild(iceUpdater);
          DataComponent data=(DataComponent)iceUpdater.getDataNodes().get(0);
          data.retrieveEntry("String_Node_Str").setValue(String.valueOf(getId()));
          data.retrieveEntry("String_Node_Str").setValue("String_Node_Str" + host + "String_Node_Str"+ System.getProperty("String_Node_Str")+ "String_Node_Str");
          iceUpdater.setActive(true);
          iceUpdater.setActiveDataNode(data);
          break;
        }
      }
    }
  }
 else {
    for (int i=0; i < outputs.getNumberOfChildren(); i++) {
      if ("String_Node_Str".equals(outputs.getChildAtIndex(i).getName())) {
        outputs.removeChild(outputs.getChildAtIndex(i));
        break;
      }
    }
  }
  return;
}

Fixed version (ground truth):
/** 
 * This private method is used to create a new ICEUpdater block for the launch. It checks to see if one can, or even should be created, and then creates it, configures it, and adds it to the tree.
 * @param isRemote
 * @return
 */
private void createICEUpdaterBlock(String host){
  TreeComposite outputs=getTopLevelTreeByName("String_Node_Str");
  TreeComposite postProcessors=getTopLevelTreeByName("String_Node_Str");
  TreeComposite iceUpdater=null;
  boolean display=false, iNeedUpdater=true, updaterExists=false;
  for (  TreeComposite child : outputs.getChildExemplars()) {
    if ("String_Node_Str".equals(child.getName())) {
      updaterExists=true;
      break;
    }
  }
  if (postProcessors == null || !postProcessors.isActive() || postProcessors.getNumberOfChildren() < 1 || !updaterExists) {
    return;
  }
  DataComponent displayPPs=(DataComponent)form.getComponent(MOOSE.ppDataId);
  for (  Entry e : displayPPs.retrieveAllEntries()) {
    if (e.getValue().equals("String_Node_Str")) {
      display=true;
      break;
    }
  }
  if (display) {
    for (int i=0; i < outputs.getNumberOfChildren(); i++) {
      if ("String_Node_Str".equals(outputs.getChildAtIndex(i).getName())) {
        iceUpdater=outputs.getChildAtIndex(i);
        DataComponent data=(DataComponent)iceUpdater.getDataNodes().get(0);
        Entry itemIdEntry=data.retrieveEntry("String_Node_Str");
        if (Integer.valueOf(itemIdEntry.getValue()) != getId()) {
          itemIdEntry.setValue(String.valueOf(getId()));
        }
        data.retrieveEntry("String_Node_Str").setValue("String_Node_Str" + host + "String_Node_Str"+ System.getProperty("String_Node_Str")+ "String_Node_Str");
        iNeedUpdater=false;
        break;
      }
    }
    if (iNeedUpdater) {
      for (int i=0; i < outputs.getChildExemplars().size(); i++) {
        if ("String_Node_Str".equals(outputs.getChildExemplars().get(i).getName())) {
          iceUpdater=(TreeComposite)outputs.getChildExemplars().get(i).clone();
          outputs.setNextChild(iceUpdater);
          DataComponent data=(DataComponent)iceUpdater.getDataNodes().get(0);
          data.retrieveEntry("String_Node_Str").setValue(String.valueOf(getId()));
          data.retrieveEntry("String_Node_Str").setValue("String_Node_Str" + host + "String_Node_Str"+ System.getProperty("String_Node_Str")+ "String_Node_Str");
          iceUpdater.setActive(true);
          iceUpdater.setActiveDataNode(data);
          break;
        }
      }
    }
  }
 else {
    for (int i=0; i < outputs.getNumberOfChildren(); i++) {
      if ("String_Node_Str".equals(outputs.getChildAtIndex(i).getName())) {
        outputs.removeChild(outputs.getChildAtIndex(i));
        break;
      }
    }
  }
  return;
}