public int getRowNb() {
    if (rowNbIfKnown != -1) {
      return rowNbIfKnown;
    }
    ODLTableReadOnly table = getDefaultTable();
    if (table != null) {
      int n = table.getRowCount();
      for (int i = 0; i < n && rowId != -1; i++) {
        if (table.getRowId(i) == rowId) {
          return i;
        }
      }
    }

    throw new RuntimeException("Row number is not available.");
  }