protected virtual IFilter ConvertRangeFilter(BrowseFilters.RangeFilter rangeFilter, IList <string> valueIds)
        {
            IFilter result;

            var knownValues = rangeFilter.Values
                              ?.Where(v => valueIds.Contains(v.Id, StringComparer.OrdinalIgnoreCase))
                              .ToArray();

            if (knownValues != null && knownValues.Any())
            {
                result = new RangeFilter
                {
                    FieldName = rangeFilter.Key,
                    Values    = knownValues.Select(ConvertRangeFilterValue).ToArray(),
                };
            }
            else
            {
                // Unknown term values should produce empty result
                result = new IdsFilter {
                    Values = new[] { string.Empty }
                };
            }

            return(result);
        }
        protected virtual IList <AggregationRequest> GetRangeFilterAggregationRequests(BrowseFilters.RangeFilter rangeFilter, IList <IFilter> existingFilters)
        {
            var result = rangeFilter.Values.Select(v => GetRangeFilterValueAggregationRequest(rangeFilter.Key, v, existingFilters)).ToList();

            return(result);
        }