TransactionVisibilityFilter's default behavior is to give only latest valid version for the transactional
cell to its sub-filters. However the IncrementFilter need to see all previous valid versions for readless
increments, since increments are stored as just the different versions of the same cell. This Filter
extends the TransactionVisibilityFilter and overrides the
TransactionVisibilityFilter.determineReturnCode(org.apache.hadoop.hbase.filter.Filter.ReturnCode, org.apache.hadoop.hbase.filter.Filter.ReturnCode) method to achieve this.

tx - the current transaction to apply. Only data visible to this transaction will be returned

ttlByFamily - map of time-to-live (TTL) (in milliseconds) by column family name

allowEmptyValues - if true cells with empty byte[] values will be returned, if false
these will be interpreted as "delete" markers and the column will be filtered out

scanType - the type of scan operation being performed

cellFilter - if non-null, this filter will be applied to all cells visible to the current transaction, by
calling Filter.filterKeyValue(org.apache.hadoop.hbase.Cell). If null, then
ReturnCode#INCLUDE_AND_NEXT_COL will be returned instead.