code: public void addAlias(final CmsAliasBean alias) {
  
          final HorizontalPanel hp = new HorizontalPanel();
          hp.getElement().getStyle().setMargin(2, Unit.PX);
          final CmsTextBox textbox = createTextBox();
          textbox.setFormValueAsString(alias.getSitePath());
          hp.add(textbox);
  
          CmsSelectBox selectbox = createSelectBox();
          selectbox.setFormValueAsString(alias.getMode().toString());
          hp.add(selectbox);
          PushButton deleteButton = createDeleteButton();
          hp.add(deleteButton);
  
          final AliasControls controls = new AliasControls(alias, textbox, selectbox);
          m_aliasControls.put(controls.getId(), controls);
  
          selectbox.addValueChangeHandler(new ValueChangeHandler<String>() {
  
              public void onValueChange(ValueChangeEvent<String> event) {
  
                  onChangePath(controls);
              }
          });
  
          deleteButton.addClickHandler(new ClickHandler() {
  
              public void onClick(ClickEvent e) {
  
                  m_aliasControls.remove(controls.getId());
                  hp.removeFromParent();
                  validateFull(m_structureId, getAliasPaths(), m_defaultValidationHandler);
              }
          });
          textbox.addValueChangeHandler(new ValueChangeHandler<String>() {
  
              public void onValueChange(ValueChangeEvent<String> e) {
  
                  onChangePath(controls);
                  validateFull(m_structureId, getAliasPaths(), m_defaultValidationHandler);
              }
          });
  
          textbox.addKeyPressHandler(new KeyPressHandler() {
  
              public void onKeyPress(KeyPressEvent event) {
  
                  onChangePath(controls);
              }
          });
          m_changeBox.add(hp);
          CmsDomUtil.resizeAncestor(this);
      }
docs: Adds the controls for a single alias to the widget.<p>
  
  @param alias the alias for which the controls should be added