docs: protected SortedMap<String, SortedSet<String>> loadSignificantParametersForSignatureBaseString(HttpServletRequest request) {
      //first collect the relevant parameters...
      SortedMap<String, SortedSet<String>> significantParameters = new TreeMap<String, SortedSet<String>>();
      //first pull from the request...
      Enumeration parameterNames = request.getParameterNames();
      while (parameterNames.hasMoreElements()) {
        String parameterName = (String) parameterNames.nextElement();
        String[] values = request.getParameterValues(parameterName);
        if (values == null) {
          values = new String[]{ "" };
        }
  
        parameterName = oauthEncode(parameterName);
        for (String parameterValue : values) {
          if (parameterValue == null) {
            parameterValue = "";
          }
  
          parameterValue = oauthEncode(parameterValue);
          SortedSet<String> significantValues = significantParameters.get(parameterName);
          if (significantValues == null) {
            significantValues = new TreeSet<String>();
            significantParameters.put(parameterName, significantValues);
          }
          significantValues.add(parameterValue);
        }
      }
  
      //then take into account the header parameter values...
      Map<String, String> oauthParams = parseParameters(request);
      oauthParams.remove("realm"); //remove the realm
      Set<String> parsedParams = oauthParams.keySet();
      for (String parameterName : parsedParams) {
        String parameterValue = oauthParams.get(parameterName);
        if (parameterValue == null) {
          parameterValue = "";
        }
  
        parameterName = oauthEncode(parameterName);
        parameterValue = oauthEncode(parameterValue);
        SortedSet<String> significantValues = significantParameters.get(parameterName);
        if (significantValues == null) {
          significantValues = new TreeSet<String>();
          significantParameters.put(parameterName, significantValues);
        }
        significantValues.add(parameterValue);
      }
  
      //remove the oauth signature parameter value.
      significantParameters.remove(OAuthConsumerParameter.oauth_signature.toString());
      return significantParameters;
    }