public override IDatabaseChanges Changes(string database = null) { return changes.GetOrAdd(database, _ => new ShardedDatabaseChanges(ShardStrategy.Shards.Values.Select(x => x.Changes(database)).ToArray())); }