public void createContents(Composite parent) {
    TableWrapLayout lo = new TableWrapLayout();
    lo.leftMargin = 0;
    lo.rightMargin = 0;
    lo.topMargin = 0;
    lo.numColumns = 1;
    parent.setLayout(lo);

    FormToolkit toolkit = m_mform.getToolkit();

    Section section =
        toolkit.createSection(
            parent, //
            // Section.DESCRIPTION | //
            Section.TITLE_BAR
                | //
                Section.EXPANDED);

    TableWrapData td = new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP);
    td.colspan = 1;
    section.setLayoutData(td);
    section.setText("Edit Provided Capability");

    Composite sectionClient = toolkit.createComposite(section);

    GridLayout layout = new GridLayout(2, false);
    sectionClient.setLayout(layout);

    FormColors colors = toolkit.getColors();
    Color headerColor = colors.getColor("org.eclipse.ui.forms.TITLE"); // $NON-NLS-1$
    Label label = null;

    // -- NAMESPACE
    label = toolkit.createLabel(sectionClient, "Namespace:");
    label.setForeground(headerColor);
    final Text nsText = toolkit.createText(sectionClient, ""); // $NON-NLS-1$
    GridData gd = new GridData(SWT.FILL, SWT.CENTER, true, false);
    gd.minimumWidth = 200;
    nsText.setLayoutData(gd);
    m_editAdapters.createEditAdapter(
        "nsText",
        nsText, //$NON-NLS-1$
        new RequiredValidator(StructuredNameValidator.instance()),
        new Mutator() {
          @Override
          public String getValue() {
            return m_input != null && m_input.getNamespace() != null
                ? m_input.getNamespace()
                : ""; //$NON-NLS-1$
          }

          @Override
          public void setValue(String input) throws Exception {
            m_input.setNamespace(
                input == null
                    ? "" //$NON-NLS-1$
                    : input.trim());
          }
        });

    // -- NAME
    label = toolkit.createLabel(sectionClient, "Name:");
    label.setForeground(headerColor);
    final Text nameText = toolkit.createText(sectionClient, "");
    nameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    m_editAdapters.createEditAdapter(
        "name",
        nameText, //$NON-NLS-1$
        new RequiredValidator(
            NullValidator.instance()), // TODO: A ProvidedCapability name validator			
        new Mutator() {

          @Override
          public String getValue() {
            return m_input != null && m_input.getName() != null
                ? m_input.getName()
                : ""; //$NON-NLS-1$
          }

          @Override
          public void setValue(String input) throws Exception {
            m_input.setName(
                input == null
                    ? "" //$NON-NLS-1$
                    : input.trim());
          }
        });

    // -- VERSION
    label = toolkit.createLabel(sectionClient, "Version:");
    label.setForeground(headerColor);
    final Text versionText = toolkit.createText(sectionClient, "");
    versionText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    m_editAdapters.createEditAdapter(
        "version",
        versionText, //$NON-NLS-1$
        new RequiredValidator(VersionValidator.instance()),
        new Mutator() {

          @Override
          public String getValue() {
            return m_input != null && m_input.getVersion() != null
                ? m_input.getVersion()
                : ""; //$NON-NLS-1$
          }

          @Override
          public void setValue(String input) throws Exception {
            m_input.setVersion(
                input == null
                    ? "" //$NON-NLS-1$
                    : input.trim());
          }
        });

    section.setClient(sectionClient);
  }