protected function doFetch() { $filter = $this->filter; while ($element = $this->iterator->fetch()) { $keyCopy = $element[0]; $valueCopy = $element[1]; if ($filter($valueCopy, $keyCopy)) { return $element; } } }