private IEnumerable <KeyValuePair <string, string> > GetQueryParamsToSign(Uri url) { if (!SignAllQueryParameters && (QueryParametersToSign == null || !QueryParametersToSign.Any())) { return(Enumerable.Empty <KeyValuePair <string, string> >()); } IEnumerable <KeyValuePair <string, string> > query = new FormDataCollection(url); if (SignAllQueryParameters == false) { query = query.Where(x => QueryParametersToSign.Contains(x.Key)); } return(query.OrderBy(x => x.Value, StringComparer.OrdinalIgnoreCase)); }