/// <summary>
 /// Core logic of handling event raised after entity was deleted.
 /// </summary>
 /// <param name="domainEvent">Event raised after entity was deleted.</param>
 /// <param name="cancellationToken">Cancellation token.</param>
 protected abstract Task HandleEventCore(EntityDeletedEvent <TEntity> domainEvent, CancellationToken cancellationToken);
 public override async Task Handle(EntityDeletedEvent <TEntity> domainEvent, CancellationToken cancellationToken)
 {
     await this.HandleEventCore(domainEvent, cancellationToken);
 }