docs: protected StringBuffer buildNavigationProperties(boolean editable) {
  
          StringBuffer result = new StringBuffer(1024);
  
          // create "disabled" attribute if properties are not editable
          String disabled = "";
          if (!editable) {
              disabled = " disabled=\"disabled\"";
          }
  
          // create "add to navigation" checkbox
          result.append(buildTableRowStart(key(Messages.GUI_PROPERTY_ADD_TO_NAV_0)));
          result.append(
              "<input type=\"checkbox\" name=\"enablenav\" id=\"enablenav\" value=\"true\" onClick=\"toggleNav();\"");
          if (getActiveProperties().containsKey(CmsPropertyDefinition.PROPERTY_NAVTEXT)
              || getActiveProperties().containsKey(CmsPropertyDefinition.PROPERTY_NAVPOS)) {
              result.append(" checked=\"checked\"");
          }
          result.append(disabled);
          result.append(">");
          result.append("</td>\n");
          result.append("\t<td class=\"textcenter\">");
          result.append("&nbsp;");
          result.append(buildTableRowEnd());
  
          // create NavText input row
          result.append(
              buildPropertyEntry(CmsPropertyDefinition.PROPERTY_NAVTEXT, key(Messages.GUI_LABEL_NAVTEXT_0), editable));
  
          // create NavPos select box row
          result.append(buildTableRowStart(key(Messages.GUI_CHNAV_INSERT_AFTER_0)));
          result.append(CmsChnav.buildNavPosSelector(
              getCms(),
              getParamResource(),
              disabled + " id=\"navpos\" class=\"maxwidth noborder\"",
              getMessages()));
          // get the old NavPos value and store it in hidden field
          String navPos = null;
          try {
              navPos = getCms().readPropertyObject(
                  getParamResource(),
                  CmsPropertyDefinition.PROPERTY_NAVPOS,
                  false).getValue();
          } catch (CmsException e) {
              // should usually never happen
              if (LOG.isInfoEnabled()) {
                  LOG.info(e.getLocalizedMessage());
              }
          }
          if (navPos == null) {
              navPos = "";
          }
          result.append("<input type=\"hidden\" name=\"");
          result.append(PREFIX_HIDDEN);
          result.append(CmsPropertyDefinition.PROPERTY_NAVPOS);
          result.append("\" value=\"");
          result.append(navPos);
          result.append("\">");
          result.append("</td>\n");
          result.append("\t<td class=\"textcenter\">");
          result.append("&nbsp;");
          result.append(buildTableRowEnd());
  
          return result;
      }