Program: 78078
Project: 78078
Buggy source:
public void modify(Object element,String property,Object value){
  if (element instanceof Item) {
    element=((Item)element).getData();
  }
  try {
    if (COLUMN_NAME.equals(property)) {
      String newName=UIUtil.convertToModelString((String)value,false);
      if (element == dummyChoice) {
        if (newName == null) {
          return;
        }
      }
 else {
        ComputedColumnHandle columnHandle=(ComputedColumnHandle)element;
        boolean selectedNameChanged=false;
        if (columnHandle.getName().equals(selectedColumnName)) {
          selectedNameChanged=true;
        }
        if (DEFAULT_COLUMN_NAME.equals(((ComputedColumnHandle)element).getName()) && !DEFAULT_COLUMN_NAME.equals(newName)) {
          bindingTable.getTable().getItem(bindingTable.getTable().getSelectionIndex()).setForeground(1,Display.getDefault().getSystemColor(SWT.COLOR_LIST_FOREGROUND));
        }
        ((ComputedColumnHandle)element).setName(newName);
        if (selectedNameChanged) {
          selectedColumnName=newName;
        }
      }
    }
 else {
      ComputedColumnHandle bindingHandle=((ComputedColumnHandle)element);
      if (COLUMN_DATATYPE.equals(property)) {
        bindingHandle.setDataType(dataTypes[((Integer)value).intValue()].getName());
      }
 else       if (COLUMN_EXPRESSION.equals(property)) {
        bindingHandle.setExpression((String)value);
      }
 else       if (COLUMN_AGGREGATEON.equals(property)) {
        if (((Integer)value).intValue() == 0)         bindingHandle.setAggregrateOn(null);
 else         bindingHandle.setAggregrateOn(groups[((Integer)value).intValue()]);
      }
    }
  }
 catch (  SemanticException e) {
    ExceptionHandler.handle(e);
  }
  refreshBindingTable();
}

Fixed version (ground truth):
public void modify(Object element,String property,Object value){
  if (element instanceof Item) {
    element=((Item)element).getData();
  }
  try {
    if (COLUMN_NAME.equals(property)) {
      String newName=UIUtil.convertToModelString((String)value,false);
      if (element == dummyChoice) {
        if (newName == null) {
          return;
        }
      }
 else {
        ComputedColumnHandle columnHandle=(ComputedColumnHandle)element;
        boolean selectedNameChanged=false;
        if (columnHandle.getName().equals(selectedColumnName)) {
          selectedNameChanged=true;
        }
        if (highLightName != null && highLightName.equals(((ComputedColumnHandle)element).getName()) && !highLightName.equals(newName)) {
          bindingTable.getTable().getItem(bindingTable.getTable().getSelectionIndex()).setForeground(1,Display.getDefault().getSystemColor(SWT.COLOR_LIST_FOREGROUND));
        }
        ((ComputedColumnHandle)element).setName(newName);
        if (selectedNameChanged) {
          selectedColumnName=newName;
        }
      }
    }
 else {
      ComputedColumnHandle bindingHandle=((ComputedColumnHandle)element);
      if (COLUMN_DATATYPE.equals(property)) {
        bindingHandle.setDataType(dataTypes[((Integer)value).intValue()].getName());
      }
 else       if (COLUMN_EXPRESSION.equals(property)) {
        bindingHandle.setExpression((String)value);
      }
 else       if (COLUMN_AGGREGATEON.equals(property)) {
        if (((Integer)value).intValue() == 0)         bindingHandle.setAggregrateOn(null);
 else         bindingHandle.setAggregrateOn(groups[((Integer)value).intValue()]);
      }
    }
  }
 catch (  SemanticException e) {
    ExceptionHandler.handle(e);
  }
  refreshBindingTable();
}