Description
The AMQPMessage abstraction used to wrap the AMQP message section has some inconsistencies in how it manages the underlying data and the decoded AMQP section obtained from the Proton-J codec as well as issues with state being maintained in the presence of changes to the message made through the public facing Message APIs
A refactoring of the AMQPMessage class to better utilize the proton-j codec to manage the message data and how it is parsed and re-encoded on change needs to be done to ensure no corrupt messages are sent and that we are not decoding and encoding sections of the message we are not intending to read or change on the sever (We currently can decode message bodies or footer is a few cases where we intend not to).