// so its the new copy that performs the on completion callback when its done
Exchange copy = ExchangeHelper.createCorrelatedCopy(exchange, true);
// set a new from endpoint to be the seda queue
copy.setFromEndpoint(endpoint);
WaitForTaskToComplete wait = waitForTaskToComplete;
if (exchange.getProperty(Exchange.ASYNC_WAIT) != null) {
wait = exchange.getProperty(Exchange.ASYNC_WAIT, WaitForTaskToComplete.class);
}
if (wait == WaitForTaskToComplete.Always