protected function &iteratorGenerator(IGenerator $iterator) { foreach ($iterator as $innerIterator) { $innerIterator = GeneratorScheme::adapter($innerIterator); foreach ($innerIterator as &$value) { (yield $value); } } }