docs: public void showPublishDialog() {
  
          if (m_controller.hasPageChanged()) {
  
              StringBuffer warningMessage = new StringBuffer();
              warningMessage.append("<p>" + Messages.get().key(Messages.GUI_DIALOG_PUBLISH_NOT_SAVED_0) + "</p>");
              warningMessage.append("<p>" + Messages.get().key(Messages.GUI_DIALOG_SAVE_QUESTION_0) + "</p>");
  
              CmsAcceptDeclineCancelDialog leavingDialog = new CmsAcceptDeclineCancelDialog(
                  Messages.get().key(Messages.GUI_DIALOG_NOT_SAVED_TITLE_0),
                  warningMessage.toString());
              leavingDialog.setAcceptText(Messages.get().key(Messages.GUI_BUTTON_SAVE_TEXT_0));
              leavingDialog.setDeclineText(Messages.get().key(Messages.GUI_BUTTON_DISCARD_TEXT_0));
              leavingDialog.setCloseText(Messages.get().key(Messages.GUI_BUTTON_RETURN_TEXT_0));
  
              leavingDialog.setHandler(new I_CmsAcceptDeclineCancelHandler() {
  
                  /**
                   * @see org.opencms.gwt.client.ui.I_CmsAcceptDeclineCancelHandler#onAccept()
                   */
                  public void onAccept() {
  
                      m_controller.saveContainerpage(new Runnable() {
  
                          public void run() {
  
                              openPublish();
                          }
                      });
                  }
  
                  /**
                   * @see org.opencms.gwt.client.ui.I_CmsCloseDialogHandler#onClose()
                   */
                  public void onClose() {
  
                      deactivateCurrentButton();
                      activateSelection();
                  }
  
                  /**
                   * @see org.opencms.gwt.client.ui.I_CmsAcceptDeclineCancelHandler#onDecline()
                   */
                  public void onDecline() {
  
                      openPublish();
                  }
              });
              leavingDialog.center();
          } else {
              openPublish();
          }
      }