docs: public String dialogButtonsCustom() {
  
          if (getPages().size() > 1) {
              // this is a multi page dialog, create buttons according to current page
              int pageIndex = getPages().indexOf(getParamPage());
              if (pageIndex == (getPages().size() - 1)) {
                  // this is the last dialog page
                  return dialogButtons(new int[] {BUTTON_OK, BUTTON_BACK, BUTTON_CANCEL}, new String[3]);
              } else if (pageIndex > 0) {
                  // this is a dialog page between first and last page
                  return dialogButtons(new int[] {BUTTON_BACK, BUTTON_CONTINUE, BUTTON_CANCEL}, new String[3]);
              } else {
                  // this is the first dialog page
                  return dialogButtons(new int[] {BUTTON_CONTINUE, BUTTON_CANCEL}, new String[2]);
              }
          }
          boolean onlyDisplay = true;
          Iterator<CmsWidgetDialogParameter> it = getWidgets().iterator();
          while (it.hasNext()) {
              CmsWidgetDialogParameter wdp = it.next();
              if (!(wdp.getWidget() instanceof CmsDisplayWidget)) {
                  onlyDisplay = false;
                  break;
              }
          }
          if (!onlyDisplay) {
              // this is a single page dialog, create common buttons
              return dialogButtons(new int[] {BUTTON_OK, BUTTON_CANCEL}, new String[2]);
          }
          // this is a display only dialog
          return "";
      }