public void Save(ISagaEx saga, Guid commitId, Action <IDictionary <string, object> > updateHeaders) { if (saga == null) { throw new ArgumentNullException("saga"); } Dictionary <string, object> headers = PrepareHeaders(saga, updateHeaders); IEventStream stream = PrepareStream(saga, headers); Persist(stream, commitId); ReleaseAggregateId(saga.Id); saga.ClearUncommittedEvents(); saga.ClearUndispatchedMessages(); }