### Question:
MessageContentKey extends AlertSerializableModel { public static MessageContentKey from(final String topicName, final String topicValue) { final String partialKey = String.format("%s%s%s", topicName, SEPARATOR, topicValue); return new MessageContentKey(partialKey); } private  MessageContentKey(final String key); static MessageContentKey from(final String topicName, final String topicValue); static MessageContentKey from(final String topicName, final String topicValue, final String subTopicName, final String subTopicValue); static MessageContentKey from(final String topicName, final String topicValue, final Set<LinkableItem> subTopics); String getKey();  }### Answer:
@Test public void equalsTest() { final String topicName = "Topic"; final String topicValue = "My Topic"; final String subTopicName = "Sub Topic"; final String subTopicValue = "A Sub Topic"; final MessageContentKey contentKey1 = MessageContentKey.from(topicName, topicValue); final MessageContentKey contentKey2 = MessageContentKey.from(topicName, topicValue); final MessageContentKey contentKey3 = MessageContentKey.from(topicName, topicValue, subTopicName, subTopicValue); final MessageContentKey contentKey4 = MessageContentKey.from(topicName, topicValue, subTopicName, subTopicValue); assertEquals(contentKey1, contentKey2); assertNotEquals(contentKey1, contentKey3); assertEquals(contentKey3, contentKey4); }