private T PurgeAllEventsFor(T aggregateRoot) { _eventDispatcher.DispatchAll(aggregateRoot.DomainEvents); aggregateRoot.ClearEvents(); return(aggregateRoot); }