@Test
public void testConstructor() {
Object payload = new Object();
GenericCommandMessage<Object> message1 = new GenericCommandMessage<Object>(payload);
Map<String, Object> metaDataMap = Collections.singletonMap("key", (Object) "value");
MetaData metaData = MetaData.from(metaDataMap);
GenericCommandMessage<Object> message2 = new GenericCommandMessage<Object>(payload, metaData);
GenericCommandMessage<Object> message3 = new GenericCommandMessage<Object>(payload, metaDataMap);
assertSame(MetaData.emptyInstance(), message1.getMetaData());
assertEquals(Object.class, message1.getPayload().getClass());