private static FilterDefinition<SnapshotEntry> CreateRangeFilter(string persistenceId, SnapshotSelectionCriteria criteria)
{
var builder = Builders<SnapshotEntry>.Filter;
var filter = builder.Eq(x => x.PersistenceId, persistenceId);
if (criteria.MaxSequenceNr > 0 && criteria.MaxSequenceNr < long.MaxValue)
filter &= builder.Lte(x => x.SequenceNr, criteria.MaxSequenceNr);
if (criteria.MaxTimeStamp != DateTime.MinValue && criteria.MaxTimeStamp != DateTime.MaxValue)
filter &= builder.Lte(x => x.Timestamp, criteria.MaxTimeStamp.Ticks);
return filter;
}