public function rewind()
    {
        // Lets assume rewind is only called when reading
        $this->failOnWriteOnly();

        $this->onRewind();
        $this->currentValue = $this->readNext(
            $this->initHandle(),
            $this->chunkSize
        );
        $this->position = $this->currentValue === null ? -1 : 0;
    }