As discussed in PETALSESBCONT-345, it should be possible to avoid to transfer things that are not needed.
For example, when answering an Exchange with an OUT message added, there should be no need to transfer the IN message again since the sender should still have it...
Maybe this actually does not make sense in a SOA context, this has to be decided and we should confirm or reject this issue based on that decision.
It was noted in the cited issue:
Note: this can't be done for send (async) because it is not the same object used between sending as a consumer and receiving as a consumer: if we remove, for example, the IN message when sending as a provider, then how can the container from the consumer side can know from which object to restore from the IN message?
Or it should store it on the side but then how can it know how long it should keep it?
Or we should do that "optimisation" from within the CDK when using sendAsync and not the container... because sendAsync knows how long the consumer is waiting for its answer!