### Question:
JmsMapMessage extends JmsMessage implements MapMessage { @Override public void clearBody() throws JMSException { super.clearBody(); map.clear(); } JmsMapMessage(JmsMessageFacade facade); @Override JmsMessage copy(); void copy(JmsMapMessage other); @Override void clearBody(); @Override boolean getBoolean(String name); @Override byte getByte(String name); @Override short getShort(String name); @Override char getChar(String name); @Override int getInt(String name); @Override long getLong(String name); @Override float getFloat(String name); @Override double getDouble(String name); @Override String getString(String name); @Override byte[] getBytes(String name); @Override Object getObject(String name); @Override Enumeration<String> getMapNames(); @Override void setBoolean(String name, boolean value); @Override void setByte(String name, byte value); @Override void setShort(String name, short value); @Override void setChar(String name, char value); @Override void setInt(String name, int value); @Override void setLong(String name, long value); @Override void setFloat(String name, float value); @Override void setDouble(String name, double value); @Override void setString(String name, String value); @Override void setBytes(String name, byte[] value); @Override void setBytes(String name, byte[] value, int offset, int length); @Override void setObject(String name, Object value); @Override boolean itemExists(String name); @Override String toString();  }### Answer:
@Test public void testClearBody() throws JMSException { JmsMapMessage mapMessage = factory.createMapMessage(); mapMessage.setString("String", "String"); mapMessage.clearBody(); assertFalse(mapMessage.isReadOnlyBody()); mapMessage.onSend(); assertNull(mapMessage.getString("String")); mapMessage.clearBody(); mapMessage.setString("String", "String"); mapMessage = (JmsMapMessage) mapMessage.copy(); mapMessage.getString("String"); }