public SingleNodeBatchCommand CreateRequest() { var result = _session.PrepareForSaveChanges(); _onSuccessfulRequest = result.OnSuccess; _sessionCommandsCount = result.SessionCommands.Count; result.SessionCommands.AddRange(result.DeferredCommands); _session.ValidateClusterTransaction(result); _allCommandsCount = result.SessionCommands.Count; if (_allCommandsCount == 0) { return(null); } _session.IncrementRequestCount(); _entities = result.Entities; if (_session.TransactionMode == TransactionMode.ClusterWide) { return(new ClusterWideBatchCommand(_session.Conventions, _session.Context, result.SessionCommands, result.Options)); } return(new SingleNodeBatchCommand(_session.Conventions, _session.Context, result.SessionCommands, result.Options)); }