### Question:
AmqpJmsBytesMessageFacade extends AmqpJmsMessageFacade implements JmsBytesMessageFacade { @Override public AmqpJmsBytesMessageFacade copy() { reset(); AmqpJmsBytesMessageFacade copy = new AmqpJmsBytesMessageFacade(); copyInto(copy); Binary payload = getBinaryFromBody(); if (payload.getLength() > 0) { copy.setBody(new Data(payload)); } else { copy.setBody(EMPTY_BODY); } return copy; }  @Override AmqpJmsBytesMessageFacade copy(); @Override byte getJmsMsgType(); @Override void clearBody(); @Override InputStream getInputStream(); @Override OutputStream getOutputStream(); @Override void reset(); @Override int getBodyLength(); @Override boolean hasBody(); @Override JmsBytesMessage asJmsMessage(); @Override byte[] copyBody(); @Override void onSend(long producerTtl);  }### Answer:
@Test public void testCopyOfNewMessageDoesNotCreateDataSection() throws Exception { AmqpJmsBytesMessageFacade amqpBytesMessageFacade = createNewBytesMessageFacade(); assertDataBodyAsExpected(amqpBytesMessageFacade.getBody(), 0); AmqpJmsBytesMessageFacade copy = amqpBytesMessageFacade.copy(); assertDataBodyAsExpected(amqpBytesMessageFacade.getBody(), 0); assertDataBodyAsExpected(copy.getBody(), 0); }
@Test public void testCopyOfContentType() throws Exception { AmqpJmsBytesMessageFacade amqpBytesMessageFacade1 = createNewBytesMessageFacade(); AmqpJmsBytesMessageFacade copy1 = amqpBytesMessageFacade1.copy(); assertNull(copy1.getContentType()); AmqpJmsBytesMessageFacade amqpBytesMessageFacade2 = createNewBytesMessageFacade(); Symbol contentType = Symbol.valueOf("content-type"); amqpBytesMessageFacade2.setContentType(contentType); AmqpJmsBytesMessageFacade copy2 = amqpBytesMessageFacade2.copy(); assertEquals(contentType, copy2.getContentType()); }