* this can still be useful for filtering data according to the snapshot's state. Instead of the actual
* write pointer from the snapshot, however, we use {@code Long.MAX_VALUE} to avoid mis-identifying any cells as
* being written by this transaction (and therefore visible).
*/
public static Transaction createDummyTransaction(TransactionSnapshot snapshot) {
return new Transaction(snapshot.getReadPointer(), Long.MAX_VALUE,
Longs.toArray(snapshot.getInvalid()),
Longs.toArray(snapshot.getInProgress().keySet()),
TxUtils.getFirstShortInProgress(snapshot.getInProgress()));
}