public function projectionIterator(\Traversable $iterator, callable $keyProjectionFunction = null, callable $valueProjectionFunction = null) { return new ProjectionIterator($this->adapter($iterator), $keyProjectionFunction, $valueProjectionFunction); }