protected function &iteratorGenerator(IGenerator $iterator) { foreach ($iterator as $key => &$value) { $element = $this->projectElement($key, $value); (yield $element[0] => $element[1]); unset($value); } }