// Update Row Number column values
  private void updateRowNumberColumnValues(DynamicData data, int iCol) {
    int iRowNum = 1;
    for (int iRow = 0; iRow < data.size(); iRow++) {
      DynamicDataRow row = data.get(iRow);
      if (row instanceof GroupedDynamicDataRow) {
        GroupedDynamicDataRow groupedRow = (GroupedDynamicDataRow) row;

        // Setting value on a GroupedCellValue causes all children to assume the same value
        groupedRow.get(iCol).setValue(new BigDecimal(iRowNum));
        for (int iGroupedRow = 0; iGroupedRow < groupedRow.getChildRows().size(); iGroupedRow++) {
          groupedRow.getChildRows().get(iGroupedRow).get(iCol).setValue(new BigDecimal(iRowNum));
          iRowNum++;
        }
      } else {
        row.get(iCol).setValue(new BigDecimal(iRowNum));
        iRowNum++;
      }
    }
  }
  // Update Salience column values
  private void updateSalienceColumnValues(DynamicData data, int iCol, boolean isReverseOrder) {

    if (!isReverseOrder) {
      updateRowNumberColumnValues(data, iCol);
    } else {

      // Get total row count
      int rowCount = 0;
      for (int iRow = 0; iRow < data.size(); iRow++) {
        DynamicDataRow row = data.get(iRow);
        if (row instanceof GroupedDynamicDataRow) {
          GroupedDynamicDataRow groupedRow = (GroupedDynamicDataRow) row;
          rowCount = rowCount + groupedRow.getChildRows().size();
        } else {
          rowCount++;
        }
      }

      int iRowNum = 0;
      for (int iRow = 0; iRow < data.size(); iRow++) {
        DynamicDataRow row = data.get(iRow);
        if (row instanceof GroupedDynamicDataRow) {
          GroupedDynamicDataRow groupedRow = (GroupedDynamicDataRow) row;

          // Setting value on a GroupedCellValue causes all children to assume the same value
          groupedRow.get(iCol).setValue(new BigDecimal(rowCount - iRowNum));
          for (int iGroupedRow = 0; iGroupedRow < groupedRow.getChildRows().size(); iGroupedRow++) {
            groupedRow
                .getChildRows()
                .get(iGroupedRow)
                .get(iCol)
                .setValue(new BigDecimal(rowCount - iRowNum));
            iRowNum++;
          }
        } else {
          row.get(iCol).setValue(new BigDecimal(rowCount - iRowNum));
          iRowNum++;
        }
      }
    }
  }