Program: 123718
Project: 123718
Buggy source:
private void onValueChanged(final String newValue,boolean showAlertIfError,String property){
  final Text text=getControl();
  FOXTreeNode selectNode=null;
  ISelection selection=xmlViewer.getSelection();
  if (selection instanceof TreeSelection) {
    Object obj=((TreeSelection)selection).getFirstElement();
    if (obj instanceof FOXTreeNode) {
      selectNode=(FOXTreeNode)obj;
    }
  }
  String errorMessage=null;
  List<FOXTreeNode> nodes=selectNode.getParent().getChildren();
  if (!selectNode.getLabel().equals(newValue)) {
    for (int i=0; i < nodes.size(); i++) {
      if (nodes.get(i).isAttribute() && selectNode.isAttribute() && nodes.get(i).getLabel().equals(newValue)) {
        errorMessage=Messages.getString("String_Node_Str");
      }
 else       if (nodes.get(i).isNameSpace() && selectNode.isNameSpace() && nodes.get(i).getLabel().equals(newValue)) {
        errorMessage=Messages.getString("String_Node_Str");
      }
 else       if (!nodes.get(i).isAttribute() && !nodes.get(i).isNameSpace() && !selectNode.isAttribute()&& !selectNode.isNameSpace()&& nodes.get(i).getLabel().equals(newValue)) {
        errorMessage=Messages.getString("String_Node_Str");
      }
    }
  }
  if ("String_Node_Str".equals(property)) {
    validateLabel=StringUtil.validateLabelForFixedValue(text.getText());
  }
 else {
    if ("String_Node_Str".equals(property) && selectNode != null && selectNode instanceof NameSpaceNode) {
      validateLabel=StringUtil.validateLabelForNameSpace(text.getText());
    }
 else {
      validateLabel=StringUtil.validateLabelForXML(text.getText());
    }
  }
  if (!validateLabel) {
    errorMessage=Messages.getString("String_Node_Str");
  }
  if (errorMessage == null) {
    text.setBackground(text.getDisplay().getSystemColor(SWT.COLOR_WHITE));
  }
 else {
    text.setBackground(text.getDisplay().getSystemColor(SWT.COLOR_RED));
    if (showAlertIfError) {
      text.setText(selectedText);
      MessageDialog.openError(text.getShell(),"String_Node_Str",errorMessage);
    }
  }
}

Fixed version (ground truth):
private void onValueChanged(final String newValue,boolean showAlertIfError,String property){
  final Text text=getControl();
  FOXTreeNode selectNode=null;
  ISelection selection=xmlViewer.getSelection();
  if (selection instanceof TreeSelection) {
    Object obj=((TreeSelection)selection).getFirstElement();
    if (obj instanceof FOXTreeNode) {
      selectNode=(FOXTreeNode)obj;
    }
  }
  String errorMessage=null;
  if (selectNode.getParent() != null) {
    List<FOXTreeNode> nodes=selectNode.getParent().getChildren();
    if (!selectNode.getLabel().equals(newValue)) {
      for (int i=0; i < nodes.size(); i++) {
        if (nodes.get(i).isAttribute() && selectNode.isAttribute() && nodes.get(i).getLabel().equals(newValue)) {
          errorMessage=Messages.getString("String_Node_Str");
        }
 else         if (nodes.get(i).isNameSpace() && selectNode.isNameSpace() && nodes.get(i).getLabel().equals(newValue)) {
          errorMessage=Messages.getString("String_Node_Str");
        }
 else         if (!nodes.get(i).isAttribute() && !nodes.get(i).isNameSpace() && !selectNode.isAttribute()&& !selectNode.isNameSpace()&& nodes.get(i).getLabel().equals(newValue)) {
          errorMessage=Messages.getString("String_Node_Str");
        }
      }
    }
  }
  if ("String_Node_Str".equals(property)) {
    validateLabel=StringUtil.validateLabelForFixedValue(text.getText());
  }
 else {
    if ("String_Node_Str".equals(property) && selectNode != null && selectNode instanceof NameSpaceNode) {
      validateLabel=StringUtil.validateLabelForNameSpace(text.getText());
    }
 else {
      validateLabel=StringUtil.validateLabelForXML(text.getText());
    }
  }
  if (!validateLabel) {
    errorMessage=Messages.getString("String_Node_Str");
  }
  if (errorMessage == null) {
    text.setBackground(text.getDisplay().getSystemColor(SWT.COLOR_WHITE));
  }
 else {
    if (showAlertIfError) {
      text.setBackground(text.getDisplay().getSystemColor(SWT.COLOR_RED));
      text.setText(selectedText);
      MessageDialog.openError(text.getShell(),"String_Node_Str",errorMessage);
    }
  }
}