// TODO - For a performance improvement, it would be better to return an instance of
    //an iterator and use that instance throughout, rather than recreating one and
    //having to move it to the right position.
    int startIndex = block * DBCellRecord.BLOCK_SIZE;
    Iterator rowIter = _rowRecords.values().iterator();
    RowRecord row = null;
    //Position the iterator at the start of the block
    for (int i=0; i<=startIndex;i++) {
    row = (RowRecord)rowIter.next();
    }
    if (row == null) {
      throw new RuntimeException("Did not find start row for block " + block);
    }
    return row.getRowNumber();
  }