public async Task <Dictionary <int, Feature> > ExecuteAsync(GetFeaturesByIdRangeQuery query, IExecutionContext executionContext)
        {
            var customEntityQuery = new GetCustomEntityRenderSummariesByIdRangeQuery(query.FeatureIds);
            var customEntities    = await _customEntityRepository.GetCustomEntityRenderSummariesByIdRangeAsync(customEntityQuery);;

            var features = customEntities
                           .Select(d => MapFeature(d.Value))
                           .ToDictionary(f => f.FeatureId);

            return(features);
        }
        private async Task <ICollection <Feature> > GetFeaturesAsync(ICollection <int> featureIds)
        {
            if (EnumerableHelper.IsNullOrEmpty(featureIds))
            {
                return(Array.Empty <Feature>());
            }
            var query = new GetFeaturesByIdRangeQuery(featureIds);

            var features = await _queryExecutor.ExecuteAsync(query);

            return(features
                   .Select(g => g.Value)
                   .OrderBy(h => h.Title)
                   .ToList());
        }