// This is however the last part of the processing of this exchange and as such can't be done
// in the AsyncCallback as that is called *AFTER* processing is considered to be done
// (see org.apache.camel.processor.CamelInternalProcessor.InternalCallback#done).
// To solve this problem, a new synchronization is set on the exchange that is to be
// processed
result.addOnCompletion(new Synchronization() {
@Override
public void onComplete(Exchange exchange) {
synchronizedExchange.consumed(result);
}