Filtering elements of an Iterator

Code
<?php

/**
 * Iterator that filters every null value out
 */
class NullFilterIterator extends FilterIterator
{
    public function accept()
    {
        return null !== $this->current();
    }
}

$iterator = new ArrayIterator([1, null, 3, 4, null]);

echo 'Iterator values:';
foreach ($iterator as $value) {
    dump($value);
}

$filter = new NullFilterIterator($iterator);

echo 'FilterIterator values:';
foreach ($filter as $value) {
    dump($value);
}
Result
Iterator values:
^ 1

^ null

^ 3

^ 4

^ null

FilterIterator values:
^ 1

^ 3

^ 4
Used Versions
PHP 8.3, Laminas MVC 3.2, Symfony 5.2, Laravel 8.28, PHPUnit 9.5, Doctrine ORM 2.8