_currentRowInPage++; _lastRowStart = _rowStart; return true;
if (_rowStart < 0) {  return positionAtNextRow(); } else {  _buffer.position(_rowStart); _buffer.limit(_lastRowStart); _lastRowStart = _rowStart; return true; }
  private boolean positionAtNextRow() throws IOException {    if (_rowsLeftOnPage == 0) {      do {        if (!_ownedPages.getNextPage(_buffer)) {          //No more owned pages.  No more rows.          return false;        }      } while (_buffer.get() != PageTypes.DATA);  //Only interested in data pages      _rowsLeftOnPage = _buffer.getShort(_format.OFFSET_NUM_ROWS_ON_DATA_PAGE);      _currentRowInPage = 0;      _lastRowStart = (short) _format.PAGE_SIZE;    }    _rowStart = _buffer.getShort(_format.OFFSET_DATA_ROW_LOCATION_BLOCK +        _currentRowInPage * _format.SIZE_ROW_LOCATION);    // XXX - Handle overflow pages and deleted rows.    _buffer.position(_rowStart);    _buffer.limit(_lastRowStart);    _rowsLeftOnPage--;    _currentRowInPage++;    _lastRowStart = _rowStart;    return true;  }