protected static boolean checkAndGetReversed(List<Filter> rowFilters, boolean defaultValue) {
    if (rowFilters.isEmpty()) {
      return defaultValue;
    }
    boolean retValue = rowFilters.get(0).isReversed();
    for (int i = 1, n = rowFilters.size(); i < n; i++) {
      if (rowFilters.get(i).isReversed() != retValue) {
        throw new IllegalArgumentException("Filters in the list must have the same reversed flag");
      }
    }
    return retValue;
  }
For each sub-filter in filter list, we save a boolean flag to indicate that whether the return
code of filterCell(c) for sub-filter is INCLUDE* (INCLUDE, INCLUDE_AND_NEXT_COL,
INCLUDE_AND_SEEK_NEXT_ROW) case. if true, we need to transform cell for the sub-filter.
hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListBase.java