@SuppressWarnings("unchecked")
@Test
public void testGetFooter() {

   MessageImpl protonMessage = createProtonMessage();
   Footer footer = new Footer(new HashMap<>());
   footer.getValue().put(Symbol.valueOf(UUID.randomUUID().toString()), "test-1");
   protonMessage.setFooter(footer);
   AMQPStandardMessage message = new AMQPStandardMessage(0, encodeMessage(protonMessage), null, null);
   Footer decoded = message.getFooter();
   assertNotSame(decoded, protonMessage.getFooter());
   assertFootersEquals(protonMessage.getFooter(), decoded);
   // Update the values
   decoded.getValue().put(Symbol.valueOf(UUID.randomUUID().toString()), "test-2");
   // Check that the message is unaffected.
   assertFootersNotEquals(protonMessage.getFooter(), decoded);
}