code: public static String concatSortedPercentEncodedParams(Map<String, String> params) {
          StringBuilder result = new StringBuilder();
  
          for (Map.Entry<String, String> entry : params.entrySet()) {
              result.append(entry.getKey()).append(PAIR_SEPARATOR);
              result.append(entry.getValue()).append(PARAM_SEPARATOR);
          }
  
          return result.toString().substring(0, result.length() - 1);
      }
docs: Concats a key-value map into a querystring-like String
  
  @param params key-value map
  @return querystring-like String