public String getHiddenFields() {
        final StringBuilder sb = new StringBuilder("\n")
            .append(String.format("\t<input type='hidden' name='%s' value='%d'>\n", REQUEST_PARAMETER_KEY_PAGE_SIZE, pageSize))
            .append(String.format("\t<input type='hidden' name='%s' value='%d'>\n", REQUEST_PARAMETER_KEY_CURRENT_PAGE, currentPage))
            .append(String.format("\t<input type='hidden' name='%s' value='%d'>\n", REQUEST_PARAMETER_KEY_SORT_ORDER, sortOrder))
            .append(String.format("\t<input type='hidden' name='%s' value='%d'>\n", REQUEST_PARAMETER_KEY_SORT_COLUMN_NUMBER, sortColumnNumber));
        for (final String additionalFormField : additionalFormFields) {
            final String formFieldValue = ParamUtils.getStringParameter(request, additionalFormField, "");
            sb.append(String.format("\t<input type='hidden' name='%s' value='%s'%s>\n",
                additionalFormField,
                StringEscapeUtils.escapeXml11(formFieldValue),
                formFieldValue.isEmpty() ? " disabled" : ""));
        }
        return sb.toString();
    }
@return the list of hidden fields required to maintain the current list pager state
xmppserver/src/main/java/org/jivesoftware/util/ListPager.java