/**
   * Create the controls for creating a new relationships Model.
   *
   * @param parent the parent composite
   * @return the created composite
   */
  private Composite createModelCreationComposite(Composite parent) {

    // Set up Composite
    Composite nameComposite = new Composite(parent, SWT.NONE);
    GridLayout nameCompositeLayout = new GridLayout();
    nameComposite.setLayout(nameCompositeLayout);
    nameCompositeLayout.numColumns = 3;
    nameCompositeLayout.marginWidth = 0;
    GridData nameCompositeGridData = new GridData(GridData.FILL_HORIZONTAL);
    nameCompositeGridData.horizontalIndent = 20;
    nameComposite.setLayoutData(nameCompositeGridData);

    // Enter Model name label - col 1 Model Name Label
    lbModelName = new Label(nameComposite, SWT.NONE);
    lbModelName.setText(MODEL_NAME_LABEL);
    lbModelName.getAlignment();

    // Model name entry field - col 2
    txtModelName = WidgetFactory.createTextField(nameComposite, GridData.HORIZONTAL_ALIGN_FILL);
    GridData modelNameTextGridData = new GridData();
    modelNameTextGridData.widthHint = MODEL_NAME_TEXT_WIDTH;
    txtModelName.setLayoutData(modelNameTextGridData);

    // listener for typing changes
    txtModelName.addModifyListener(
        new ModifyListener() {

          @Override
          public void modifyText(final ModifyEvent event) {
            handleSetModelName();
          }
        });

    // This initializes the status label
    handleSetModelName();

    setCreateControlsEnabled(false);

    return nameComposite;
  }