public function getNextBatch()
    {
        if ($this->_result === [] && $this->_hasMore) {
            // read more from server
            $this->fetchOutstanding();
        }

        if ($this->_result !== []) {
            $result        = $this->_result;
            $this->_result = [];

            return $result;
        }

        // cursor is exhausted
        return false;
    }