41 public function __construct( $iter, $vCallback, array $options = [] ) {
42 if ( is_array( $iter ) ) {
43 $baseIterator =
new ArrayIterator( $iter );
44 } elseif ( $iter instanceof Iterator ) {
45 $baseIterator = $iter;
47 throw new UnexpectedValueException(
"Invalid base iterator provided." );
49 parent::__construct( $baseIterator );
50 $this->vCallback = $vCallback;
51 $this->aCallback = $options[
'accept'] ??
null;