protected function process($expr, $time)
    {
        $expr = $this->normalizeExpr($expr);
        $expr = \str_ireplace(\array_keys(static::$literals), \array_values(static::$literals), $expr);
        $expr = \explode(' ', $expr);

        if (\count($expr) < 5 || \count($expr) > 6) {
            throw new \UnexpectedValueException(
                'Cron $expr should have 5 or 6 segments delimited by space'
            );
        }

        $time  = static::normalizeTime($time);
        $times = \array_map('intval', \explode(' ', \date('i G j n w Y t d m N', $time)));

        return [$expr, $times];
    }