}
  public void setArgument(AbstractEOArgument _argument) {    if (!ComparisonUtils.equals(_argument, myArgument)) {      disposeBindings();      myArgument = _argument;      if (myArgument != null) {        //myArgumentTypeComboViewer.setInput(myAttribute);        myBindingContext = BindingFactory.createContext();        myBindingContext.bind(myNameText, new Property(myArgument, AbstractEOArgument.NAME), null);        myBindingContext.bind(myColumnNameText, new Property(myArgument, AbstractEOArgument.COLUMN_NAME), null);        myBindingContext.bind(myDefinitionText, new Property(myArgument, AbstractEOArgument.DEFINITION), null);        myBindingContext.bind(myExternalTypeText, new Property(myArgument, AbstractEOArgument.EXTERNAL_TYPE), null);        myBindingContext.bind(myAllowNullsButton, new Property(myArgument, AbstractEOArgument.ALLOWS_NULL), null);        _argumentChanged(_argument);        myDataTypeBinding = new ComboViewerBinding(myDataTypeComboViewer, myArgument, AbstractEOArgument.DATA_TYPE, null, null, null);        if (myArgument.getDefinition() == null) {          myDerivedComboViewer.setSelection(new StructuredSelection(AbstractEOArgumentBasicEditorSection.COLUMN));        }        else {          myDerivedComboViewer.setSelection(new StructuredSelection(AbstractEOArgumentBasicEditorSection.DERIVED));        }      }      Iterator dataTypePanelsIter = myDataTypeToDataTypePanel.values().iterator();      while (dataTypePanelsIter.hasNext()) {        IDataTypePanel dataTypePanel = (IDataTypePanel) dataTypePanelsIter.next();        dataTypePanel.setArgument(_argument);      }      updateAttributePanel();      if (myArgument != null) {        myArgument.addPropertyChangeListener(AbstractEOArgument.DATA_TYPE, myDataTypeChangeListener);      }    }  }