Program: 77445
Project: 77445
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 (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);
        String groupType=DEUtil.getGroupControlType(inputElement);
        if (ExpressionUtil.hasAggregation(bindingHandle.getExpression())) {
          if (!groupType.equals(DEUtil.TYPE_GROUP_NONE))           bindingHandle.setAggregrateOn(((GroupHandle)DEUtil.getGroups(inputElement).get(0)).getName());
 else           bindingHandle.setAggregrateOn(null);
        }
        if (!ExpressionUtil.hasAggregation(bindingHandle.getExpression()) || groupType.equals(DEUtil.TYPE_GROUP_NONE)) {
          bindingHandle.setAggregrateOn(null);
        }
      }
 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)) {
        if (!(bindingHandle.getExpression() != null && bindingHandle.getExpression().equals((String)value))) {
          bindingHandle.setExpression((String)value);
          String groupType=DEUtil.getGroupControlType(inputElement);
          if (ExpressionUtil.hasAggregation(bindingHandle.getExpression())) {
            if (groupType.equals(DEUtil.TYPE_GROUP_GROUP))             bindingHandle.setAggregrateOn(((GroupHandle)DEUtil.getGroups(inputElement).get(0)).getName());
 else             if (groupType.equals(DEUtil.TYPE_GROUP_LISTING))             bindingHandle.setAggregrateOn(null);
          }
          if (!ExpressionUtil.hasAggregation(bindingHandle.getExpression()) || groupType.equals(DEUtil.TYPE_GROUP_NONE)) {
            bindingHandle.setAggregrateOn(null);
          }
        }
      }
 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();
}