private IDocumentSession OpenSessionInternal(string database, Dictionary<string, IDatabaseCommands> shardDbCommands) { EnsureNotClosed(); var sessionId = Guid.NewGuid(); var session = new ShardedDocumentSession(database, this, listeners, sessionId, ShardStrategy, shardDbCommands) { DatabaseName = database }; AfterSessionCreated(session); return session; }