@Override
    public TimePeriod visitAggregation_time_range(@NotNull SiddhiQLParser.Aggregation_time_rangeContext ctx) {

        // read left and right contexts
        SiddhiQLParser.Aggregation_time_durationContext left = ctx.aggregation_time_duration().get(0);
        SiddhiQLParser.Aggregation_time_durationContext right = ctx.aggregation_time_duration().get(1);

        // Visit left and right expression using above contexts and create a new
        // RangeTimeSpecifier object
        TimePeriod.Duration leftTimeDuration = visitAggregation_time_duration(left);
        TimePeriod.Duration rightTimeDuration = visitAggregation_time_duration(right);
        TimePeriod timePeriod = TimePeriod.range(leftTimeDuration, rightTimeDuration);
        populateQueryContext(timePeriod, ctx);
        return timePeriod;
    }
{@inheritDoc}
<p>The default implementation returns the result of calling
{@link #visitChildren} on {@code ctx}.</p>

@param ctx
modules/siddhi-query-compiler/src/main/java/io/siddhi/query/compiler/internal/SiddhiQLBaseVisitorImpl.java