public async Task <DequeueResponse> Handle(DequeueCommand request, CancellationToken cancellationToken)
        {
            ArgumentNullException.ThrowIfNull(request, nameof(request));

            _logger.LogProcess("Dequeue", _correlationContext.Id, request.MarketOperator);

            var bundleId  = new Uuid(request.BundleId);
            var recipient = Guid.TryParse(request.MarketOperator, out var actorId)
                ? new ActorId(actorId)
                : new LegacyActorId(new GlobalLocationNumber(request.MarketOperator));

            var(canAcknowledge, bundle) = await _marketOperatorDataDomainService
                                          .CanAcknowledgeAsync(recipient, bundleId)
                                          .ConfigureAwait(false);

            if (!canAcknowledge)
            {
                _logger.LogProcess("Dequeue", "Unacknowledged", _correlationContext.Id, request.MarketOperator, request.BundleId);
                return(new DequeueResponse(false));
            }

            var marketOperator = recipient is LegacyActorId legacyActor
#pragma warning disable CS0618
                ? new LegacyActorIdDto(legacyActor.Value)
#pragma warning restore CS0618
                : new ActorIdDto(Guid.Parse(recipient.Value));

            var dequeueNotification = new DequeueNotificationDto(
                bundle !.ProcessId.ToString(),
                marketOperator);

            await _dequeueNotificationSender
            .SendAsync(bundle.ProcessId.ToString(), dequeueNotification, (DomainOrigin)bundle.Origin)
            .ConfigureAwait(false);

            await _marketOperatorDataDomainService
            .AcknowledgeAsync(bundle)
            .ConfigureAwait(false);

            _logger.LogProcess("Dequeue", "Acknowledged", _correlationContext.Id, request.MarketOperator, request.BundleId);
            return(new DequeueResponse(true));
        }