protected function get_next_range(\DateTimeImmutable $next) {

        $end = $next->getTimestamp();
        $start = $next->sub($this->periodicity())->getTimestamp();

        if ($start < $this->analysable->get_start()) {
            // We skip the first range generated as its start is prior to the analysable start.
            return false;
        }

        return [
            'start' => $start,
            'end' => $end,
            'time' => $end
        ];
    }