public static function limit(Iterator $iterator, int $limitSize) : Iterator
    {
        Preconditions::checkArgument(0 <= $limitSize);
        return new NoRewindNecessaryLimitIterator($iterator, $limitSize);
    }