/**
   * {@inheritDoc}
   *
   * @see org.eclipse.jface.action.Action#run()
   */
  @Override
  public void run() {
    // Server may have already been selected by the action
    // having its updateSelection called. If it hasn't then find
    // a server to edit accordingly
    if (this.serverBeingEdited == null) {
      // Choose Server to Edit
      serverBeingEdited = RuntimeAssistant.selectServer(getShell(), false);
      if (RuntimeAssistant.selectServerWasCancelled()) return;
    }

    if (serverBeingEdited == null) {
      String title = UTIL.getString("noServerAvailableTitle"); // $NON-NLS-1$
      String message = UTIL.getString("noServerAvailableMessage"); // $NON-NLS-1$
      MessageDialog.openError(getShell(), title, message);
      return;
    }

    ServerUIPlugin.editServer(serverBeingEdited.getParent());
  }