public async Task SendAsync <TCommand>(TCommand command, CancellationToken cancellationToken = default) where TCommand : ICommand
        {
            var basicProperties = _model.CreateBasicProperties();

            basicProperties.Headers = new Dictionary <string, object>();

            await _rabbitSender.SendAsync(command, basicProperties, cancellationToken);
        }
 public async Task SendAsync <T>(T command, IBasicProperties basicProperties, CancellationToken cancellationToken) where T : ICommand
 {
     UpdateCorrelation(basicProperties);
     await _next.SendAsync(command, basicProperties, cancellationToken);
 }