public static Uri MakeUri(string scheme, string host, int?port, string path, UriQueryParameters queryParams)
        {
            var portValue          = port.HasValue ? port.Value : NoPortSpecified;
            var encodedQueryParams = queryParams.EncodeQueryString();
            var uri = String.Format("{0}{1}{2}:{3}{4}?{5}", scheme, Uri.SchemeDelimiter, host, portValue, path, encodedQueryParams);

            return(new Uri(uri));
        }
 public static Uri MakeUri(Uri serviceRoot, string path, UriQueryParameters queryParams)
 {
     return(MakeUri(serviceRoot.Scheme, serviceRoot.Host, serviceRoot.Port, path, queryParams));
 }