javax.jms.Message is mutable when first created.
On a TextMessage you can set for example 'the text'.You can also set properties.
However, after receiving a message, setting a property does not work anymore before clearing the properties explicitly
This means that if you want to re-send the same message + extra properties, you need to read them, store temporary, clear message and set them again.
Suggestion is to foresee somekind of copy constructor, or another way of creating a new message from an existing one.
Another way could be to let the properties be mutable.