docs: protected String htmlPagingBar() {
  
          if (getNumberOfPages() < 2) {
              return "";
          }
          StringBuffer html = new StringBuffer(1024);
          CmsMessages messages = Messages.get().getBundle(getWp().getLocale());
          html.append("<table width='100%' cellspacing='0' style='margin-top: 5px;'>\n");
          html.append("\t<tr>\n");
          html.append("\t\t<td class='main'>\n");
          // prev button
          String id = "listPrev";
          String name = messages.key(Messages.GUI_LIST_PAGING_PREVIOUS_NAME_0);
          String iconPath = ICON_LEFT;
          boolean enabled = getCurrentPage() > 1;
          String helpText = messages.key(Messages.GUI_LIST_PAGING_PREVIOUS_HELP_0);
          if (!enabled) {
              helpText = messages.key(Messages.GUI_LIST_PAGING_PREVIOUS_HELPDIS_0);
          }
          String onClic = "listSetPage('" + getId() + "', " + (getCurrentPage() - 1) + ")";
          html.append(A_CmsHtmlIconButton.defaultButtonHtml(
              CmsHtmlIconButtonStyleEnum.SMALL_ICON_TEXT,
              id,
              name,
              helpText,
              enabled,
              iconPath,
              null,
              onClic));
          html.append("\n");
          // next button
          id = "listNext";
          name = messages.key(Messages.GUI_LIST_PAGING_NEXT_NAME_0);
          iconPath = ICON_RIGHT;
          enabled = getCurrentPage() < getNumberOfPages();
          helpText = messages.key(Messages.GUI_LIST_PAGING_NEXT_HELP_0);
          if (!enabled) {
              helpText = messages.key(Messages.GUI_LIST_PAGING_NEXT_HELPDIS_0);
          }
          onClic = "listSetPage('" + getId() + "', " + (getCurrentPage() + 1) + ")";
          html.append(A_CmsHtmlIconButton.defaultButtonHtml(
              CmsHtmlIconButtonStyleEnum.SMALL_ICON_TEXT,
              id,
              name,
              helpText,
              enabled,
              iconPath,
              null,
              onClic));
          html.append("\n");
          // page selection list
          html.append("\t\t\t&nbsp;&nbsp;&nbsp;");
          html.append("\t\t\t<select name='listPageSet' id='id-page_set' onChange =\"listSetPage('");
          html.append(getId());
          html.append("', this.value);\" style='vertical-align: bottom;'>\n");
          html.append(
              htmlPageSelector(
                  getNumberOfPages(),
                  getMaxItemsPerPage(),
                  getSize(),
                  getCurrentPage(),
                  getWp().getLocale()));
          html.append("\t\t\t</select>\n");
          html.append("\t\t\t&nbsp;&nbsp;&nbsp;");
          boolean isNotSearching = true;
          if (getMetadata().isSearchable()) {
              isNotSearching = CmsStringUtil.isEmptyOrWhitespaceOnly(m_searchFilter);
          }
          if (isNotSearching) {
              html.append(
                  messages.key(
                      Messages.GUI_LIST_PAGING_TEXT_2,
                      new Object[] {m_name.key(getWp().getLocale()), new Integer(getTotalSize())}));
          } else {
              html.append(messages.key(
                  Messages.GUI_LIST_PAGING_FILTER_TEXT_3,
                  new Object[] {m_name.key(getWp().getLocale()), new Integer(getSize()), new Integer(getTotalSize())}));
          }
          html.append("\t\t</td>\n");
          html.append("\t</tr>\n");
          html.append("</table>\n");
          return html.toString();
      }