Currently a message is resent as is. This implies use of the originally assigned messageID, and works because we are by default tolerant against duplicate messageIDs . To be strictly compliant, the resent message should be given a new ID. Once we are updating the headers, we may also either remove any pre-existing SequenceAcknowledgement header (it may be out-of-date, but that does not cause any harm) or, for efficiency, replace it with an up-to-date SequenceAcknowledgement.
Requires re-running the message through a selective chain of interceptors or else a manual approach to updating the headers in question. and subsequently re-marshalling the messge.