protected override async Task SaveAsync(SnapshotMetadata metadata, object snapshot) { var snapshotEntry = ToSnapshotEntry(metadata, snapshot); await _snapshotCollection.Value.ReplaceOneAsync( CreateSnapshotIdFilter(snapshotEntry.Id), snapshotEntry, new UpdateOptions { IsUpsert = true }); }