protected function &iteratorGenerator(IGenerator $iterator) { $setFilter = clone $this->setFilter; $setFilter->initialize(); foreach ($iterator as $key => &$value) { if ($setFilter->filter($key, $value)) { (yield $key => $value); } } }