code: int find(RowCursor cursor)
    {
      int rowOffset = _rowHead;
      int sortOffset = _rowSortHead;
      int rowLength = cursor.length();
      
      int removeLength = cursor.removeLength();
      
      byte []buffer = _buffer;
  
      while (rowOffset < sortOffset) {
        int code = buffer[rowOffset] & CODE_MASK;
  
        switch (code) {
        case INSERT:
          if (cursor.compareKeyRow(buffer, rowOffset) == 0) {
            return rowOffset;
          }
          else {
            rowOffset += rowLength;
            break;
          }
          
        case INSERT_DEAD:
          rowOffset += rowLength;
          break;
          
        case REMOVE:
          if (cursor.compareKeyRemove(buffer, rowOffset) == 0) {
            // return PageLeafImpl.INDEX_REMOVED;
            return rowOffset;
          }
          else {
            rowOffset += removeLength;
            break;
          }
          
        default:
          throw new IllegalStateException(L.l("Corrupted block {0} offset {1} code {2}\n",
                                              this, rowOffset, code));
        }
      }
      
      if (sortOffset < BLOCK_SIZE) {
        return findSorted(cursor);
      }
      
      return PageLeafImpl.INDEX_UNMATCH;
    }
docs: Searches for a row matching the cursor's key.