Program: 147622
Project: 147622
Buggy source:
public void modify(Object element,String property,Object value){
  TableItem item=(TableItem)element;
  String tValue=value.toString().trim();
  if (Pattern.compile("String_Node_Str").matcher(value.toString()).matches() || tValue.replaceAll("String_Node_Str","String_Node_Str").length() != tValue.length()) {
    MessageDialog.openInformation(null,Messages.Warning,Messages.NotContainEmpty);
    return;
  }
  if (!value.toString().startsWith(BROWSE_ITEMS)) {
    MessageDialog.openInformation(null,Messages.Warning,Messages.bind(Messages.NameStartWith,BROWSE_ITEMS));
    return;
  }
  XSDElementDeclaration elem=(XSDElementDeclaration)item.getData();
  String declName=elem.getName();
  if (!(BROWSE_ITEMS + declName).equals(tValue)) {
    for (    XSDElementDeclaration theElem : declList) {
      if (theElem == elem) {
        continue;
      }
      if ((BROWSE_ITEMS + theElem.getName()).equals(tValue)) {
        MessageDialog.openInformation(null,Messages.Warning,Messages.BrowseNameExists);
        return;
      }
    }
    List<Line> lines=browseItemToRoles.get(BROWSE_ITEMS + declName);
    browseItemToRoles.remove(BROWSE_ITEMS + declName);
    int prex=tValue.indexOf(BROWSE_ITEMS);
    if (prex != -1 && (prex + BROWSE_ITEMS.length()) <= tValue.length()) {
      elem.setName(tValue.substring(prex + BROWSE_ITEMS.length()));
    }
    browseItemToRoles.put(tValue,lines);
    refreshRoleView(BROWSE_ITEMS + elem.getName());
    browseViewer.update(elem,null);
    elem.setName(declName);
  }
}

Fixed version (ground truth):
public void modify(Object element,String property,Object value){
  TableItem item=(TableItem)element;
  String tValue=value.toString().trim();
  if (Pattern.compile("String_Node_Str").matcher(value.toString()).matches() || tValue.replaceAll("String_Node_Str","String_Node_Str").length() != tValue.length()) {
    MessageDialog.openInformation(null,Messages.Warning,Messages.NotContainEmpty);
    return;
  }
  if (!value.toString().startsWith(BROWSE_ITEMS)) {
    MessageDialog.openInformation(null,Messages.Warning,Messages.bind(Messages.NameStartWith,BROWSE_ITEMS));
    return;
  }
  XSDElementDeclaration elem=(XSDElementDeclaration)item.getData();
  String declName=elem.getName();
  if (!(BROWSE_ITEMS + declName).equals(tValue)) {
    for (    XSDElementDeclaration theElem : declList) {
      if (theElem == elem) {
        continue;
      }
      if ((BROWSE_ITEMS + theElem.getName()).equals(tValue)) {
        MessageDialog.openInformation(null,Messages.Warning,Messages.BrowseNameExists);
        return;
      }
    }
    String key=BROWSE_ITEMS + declName;
    for (    String k : browseItemToRoles.keySet()) {
      if (k.startsWith(key)) {
        key=k;
        break;
      }
    }
    List<Line> lines=browseItemToRoles.get(key);
    browseItemToRoles.remove(key);
    int prex=tValue.indexOf(BROWSE_ITEMS);
    if (prex != -1 && (prex + BROWSE_ITEMS.length()) <= tValue.length()) {
      elem.setName(tValue.substring(prex + BROWSE_ITEMS.length()));
    }
    browseItemToRoles.put(tValue,lines);
    refreshRoleView(BROWSE_ITEMS + elem.getName());
    browseViewer.update(elem,null);
    elem.setName(declName);
  }
}