class InventoryEstimateDaoESImp extends BaseDaoESImp implements InventoryEstimateDao {

    @Override
    public Map<Day, Impression> aggregatePredictionsFullDaysWithRegionRatio(TargetingChannel targetingChannel,
                                                                            Set<Day> days) throws IOException
    {
        Map<Day, Impression> result = new HashMap<>();
        Map<Double, BoolQueryBuilder> boolQueryBuilderRatioMap = this.createQueryForSingleValuesWithRegionRatio(targetingChannel);
        for (Map.Entry<Double, BoolQueryBuilder> entry : boolQueryBuilderRatioMap.entrySet())
        {
            BoolQueryBuilder query = entry.getValue();
            Double regionRatio = entry.getKey();
            Map<Day, Impression> countMap = getImpressionCountForFullDays(query, Day.getDayString(days));
            countMap = applyRegionRatio(null, countMap, regionRatio);
            for (Map.Entry<Day, Impression> entry1 : countMap.entrySet())
            {
                Day _day = entry1.getKey();
                Impression _impression = entry1.getValue();
                if (result.containsKey(_day))
                {
                    Impression newImpression = Impression.add(_impression, result.get(_day));
                    result.put(_day, newImpression);
                }
                else
                {
                    result.put(_day, _impression);
                }
            }
        }
        return result;
    }

    public  InventoryEstimateDaoESImp();
    public  InventoryEstimateDaoESImp(Properties properties);

}