public final function updateSourceIterator(\Traversable $sourceIterator) { $clone = clone $this; $clone->iterator = GeneratorScheme::adapter($sourceIterator); return $clone; }