protected final function &iteratorGenerator(IGenerator $iterator)
{
$count = 0;
$data = $this->beforeOuterLoopData();
foreach ($this->outerIterator as $outerKey => $outerValue) {
foreach ($this->innerForeach($outerKey, $outerValue, $data, $count) as $key => $value) {
(yield $key => $value);
unset($value);
}
}
}