public async Task <IDictionary <int, Feature> > ExecuteAsync(GetFeaturesByIdRangeQuery query, IExecutionContext executionContext)
    {
        var features = await _contentRepository
                       .CustomEntities()
                       .GetByIdRange(query.FeatureIds)
                       .AsRenderSummaries()
                       .MapItem(MapFeature)
                       .ExecuteAsync();

        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 _contentRepository.ExecuteQueryAsync(query);

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