/// <summary>
 /// Soft delete the aggregate. Its stream can be re-created by appending new events.
 /// </summary>
 /// <param name="aggregate">The aggregate to be deleted.</param>
 public void Delete(IEventSource aggregate)
 {
     if (_cache != null)
     {
         _cache.Delete(aggregate);
     }
     else
     {
         _repository.Delete(aggregate);
     }
 }
 public void Delete(IEventSource aggregate)
 {
     _cache.Delete(aggregate);
 }