public function __construct(ICollection $collection) { parent::__construct(new Traversable\SourceInfo($collection), new Traversable\Provider($collection)); $this->scheme = $collection->getIteratorScheme(); $this->collection = $collection; }