@Test
  public void testWithMultiVersionsInSameRow() throws Exception {
    FilterList filterList01 =
      new FilterList(Operator.MUST_PASS_ONE, new ColumnPaginationFilter(1, 0));

    KeyValue kv1 = new KeyValue(Bytes.toBytes("row"), Bytes.toBytes("fam"), Bytes.toBytes("qual"),
      1, Bytes.toBytes("value"));
    KeyValue kv2 = new KeyValue(Bytes.toBytes("row"), Bytes.toBytes("fam"), Bytes.toBytes("qual"),
      2, Bytes.toBytes("value"));
    KeyValue kv3 = new KeyValue(Bytes.toBytes("row"), Bytes.toBytes("fam"), Bytes.toBytes("qual"),
      3, Bytes.toBytes("value"));

    assertEquals(ReturnCode.INCLUDE_AND_NEXT_COL, filterList01.filterCell(kv1));
    assertEquals(ReturnCode.NEXT_COL, filterList01.filterCell(kv2));
    assertEquals(ReturnCode.NEXT_COL, filterList01.filterCell(kv3));

    FilterList filterList11 =
      new FilterList(Operator.MUST_PASS_ONE, new ColumnPaginationFilter(1, 1));

    assertEquals(ReturnCode.NEXT_COL, filterList11.filterCell(kv1));
    assertEquals(ReturnCode.NEXT_COL, filterList11.filterCell(kv2));
    assertEquals(ReturnCode.NEXT_COL, filterList11.filterCell(kv3));
  }
Tests the behavior of transform() in a hierarchical filter. transform() only applies after a
filterCell() whose return-code includes the KeyValue. Lazy evaluation of AND
hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilterList.java