Transaction tx = txCodec.getFromOperation(scan);
if (tx != null) {
if (LOG.isTraceEnabled()) {
LOG.trace("Applying filter to SCAN for transaction " + tx.getWritePointer());
}
scan.setMaxVersions(tx.excludesSize() + 1);
scan.setTimeRange(TxUtils.getOldestVisibleTimestamp(ttlByFamily, tx), TxUtils.getMaxVisibleTimestamp(tx));
Filter newFilter = combineFilters(new TransactionVisibilityFilter(tx, ttlByFamily, allowEmptyValues),
scan.getFilter());
scan.setFilter(newFilter);
}