@Override
    public ExtendedCell getNextIndexedKey() {
      // Fake block boundaries by having index of next block change as we go through scan.
      return count.get() > CELL_GRID_BLOCK4_BOUNDARY
        ? PrivateCellUtil.createFirstOnRow(CELL_GRID[CELL_GRID_BLOCK5_BOUNDARY])
        : count.get() > CELL_GRID_BLOCK3_BOUNDARY
          ? PrivateCellUtil.createFirstOnRow(CELL_GRID[CELL_GRID_BLOCK4_BOUNDARY])
        : count.get() > CELL_GRID_BLOCK2_BOUNDARY
          ? PrivateCellUtil.createFirstOnRow(CELL_GRID[CELL_GRID_BLOCK3_BOUNDARY])
        : PrivateCellUtil.createFirstOnRow(CELL_GRID[CELL_GRID_BLOCK2_BOUNDARY]);
    }
A StoreScanner for our CELL_GRID above. Fakes the block transitions. Does counts of calls to
optimize and counts of when optimize actually did an optimize.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java