Task <ScheduledMessage <T> > IMessageScheduler.ScheduleSend <T>(Uri destinationAddress, DateTime scheduledTime, T message,
                                                                        CancellationToken cancellationToken)
        {
            if (destinationAddress == null)
            {
                throw new ArgumentNullException(nameof(destinationAddress));
            }
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }

            return(_provider.ScheduleSend(destinationAddress, scheduledTime, Task.FromResult(message), Pipe.Empty <SendContext>(), cancellationToken));
        }