@Override public CompletableFuture<Long> scheduleMessageAsync(IMessage message, Instant scheduledEnqueueTimeUtc, TransactionContext transaction) { message.setScheduledEnqueueTimeUtc(scheduledEnqueueTimeUtc); org.apache.qpid.proton.message.Message amqpMessage = MessageConverter.convertBrokeredMessageToAmqpMessage((Message) message); return this.internalSender.scheduleMessageAsync( new org.apache.qpid.proton.message.Message[]{amqpMessage}, transaction, this.messagingFactory.getClientSettings().getOperationTimeout()).thenApply(sequenceNumbers -> sequenceNumbers[0]); }