code: public static Map<String, String> params1st(){
          //TODO: candidate for performance optimization
          Map<String, String> params = new HashMap<>();
          Enumeration names = RequestContext.getHttpRequest().getParameterNames();
          while (names.hasMoreElements()) {
              String name = names.nextElement().toString();
              params.put(name, RequestContext.getHttpRequest().getParameter(name));
          }
          if(getId() != null)
              params.put("id", getId());
  
          Map<String, String> userSegments = RequestContext.getRequestVo().getUserSegments();
          params.putAll(userSegments);
          return params;
      }
docs: Returns a map where keys are names of all parameters, while values are the first value for each parameter, even
  if such parameter has more than one value submitted.
  
  @return a map where keys are names of all parameters, while values are first value for each parameter, even
  if such parameter has more than one value submitted.