attribute.setPrototypeName(prototypeName);
attribute.setPrototypeName(prototypeName, true);
  public void modify(Object _element, String _property, Object _value) {    try {      TableItem tableItem = (TableItem) _element;      EOAttribute attribute = (EOAttribute) tableItem.getData();      if (_property == EOAttributesConstants.PRIMARY_KEY) {        attribute.setPrimaryKey((Boolean) _value);      }      else if (_property == EOAttributesConstants.CLASS_PROPERTY) {        attribute.setClassProperty((Boolean) _value);      }      else if (_property == EOAttributesConstants.LOCKING) {        attribute.setUsedForLocking((Boolean) _value);      }      else if (_property == EOAttributesConstants.ALLOW_NULL) {        attribute.setAllowsNull((Boolean) _value);      }      else if (_property == EOAttributesConstants.NAME) {        attribute.setName((String) _value);      }      else if (_property == EOAttributesConstants.COLUMN) {        attribute.setColumnName((String) _value);      }      else if (_property == EOAttributesConstants.PROTOTYPE) {        Integer prototypeIndex = (Integer) _value;        int prototypeIndexInt = prototypeIndex.intValue();        String prototypeName = (prototypeIndexInt == -1) ? null : (String) myPrototypeNames.get(prototypeIndexInt);        if (EOAttributesCellModifier.NO_PROTOYPE_VALUE.equals(prototypeName)) {          attribute.setPrototypeName(null);        }        else {          attribute.setPrototypeName(prototypeName);        }      }      else {        throw new IllegalArgumentException("Unknown property '" + _property + "'");      }      myAttributesTableViewer.refresh(attribute);    }    catch (DuplicateAttributeNameException e) {      MessageDialog.openError(Display.getDefault().getActiveShell(), "Error", e.getMessage());    }  }