What I am trying to do is this:I have a splitter class which breaks up an incoming message into a series of smaller messages, each of which is routed to another service. In practice, the splitter iterates over the split parts of the initial message, replaces the unsplit contents at Body.DEFAULT_LOCATION with each split part, and then routes the modified message.

What I want to do is hold on to the original message so that, in case of some error along the way, I can send this message to an error service. Any suggestions on how to do this?