public static String constructRequestUri(String path,MultiMap params,List<String> paramsToRemove,String subResource,SlashHandling slashHandling){
  String result=path;
  if (paramsToRemove != null) {
    for (    String paramToRemove : paramsToRemove) {
      params.remove(paramToRemove);
    }
  }
  boolean pathEndsWithSlash=result.endsWith(SLASH);
  if (subResource != null) {
    if (pathEndsWithSlash) {
      result=result + subResource;
    }
 else {
      result=result + SLASH + subResource;
    }
  }
  if (slashHandling.equals(SlashHandling.END_WITH_SLASH)) {
    if (!pathEndsWithSlash) {
      result=result + SLASH;
    }
  }
 else   if (slashHandling.equals(SlashHandling.END_WITHOUT_SLASH)) {
    result=removeFromEndOfString(result,SLASH);
  }
  if (!params.isEmpty()) {
    result=result + "?" + ExpansionDeltaUtil.mapToDelimetedString(params,"&");
  }
  return result;
}

public static String constructRequestUri ( String path , MultiMap params , List < String > paramsToRemove , String subResource , SlashHandling slashHandling ) { String result = path ; if ( paramsToRemove != null ) { for ( String paramToRemove : paramsToRemove ) { params . remove ( paramToRemove ) ; } } boolean pathEndsWithSlash = result . endsWith ( SLASH ) ; if ( subResource != null ) { if ( pathEndsWithSlash ) { result = result + subResource ; } else { result = result + SLASH + subResource ; } } if ( slashHandling . equals ( SlashHandling . END_WITH_SLASH ) ) { if ( ! pathEndsWithSlash ) { result = result + SLASH ; } } else if ( slashHandling . equals ( SlashHandling . END_WITHOUT_SLASH ) ) { result = removeFromEndOfString ( result , SLASH ) ; } if ( ! params . isEmpty ( ) ) { result = result + "?" + ExpansionDeltaUtil . mapToDelimetedString ( params , "&" ) ; } return result ; }
constructs a request based on the given path and the given params without the paramstoremove
