@Override
    public int hashCode() {
        return MessageIdAdvUtils.hashCode(this);
    }
@Test
    public void hashCodeUnbatchedTest() {
        BatchMessageIdImpl batchMsgId1 = new BatchMessageIdImpl(0, 0, 0, -1);
        BatchMessageIdImpl batchMsgId2 = new BatchMessageIdImpl(1, 1, 1, -1);

        MessageIdImpl msgId1 = new MessageIdImpl(0, 0, 0);
        MessageIdImpl msgId2 = new MessageIdImpl(1, 1, 1);

        assertEquals(batchMsgId1.hashCode(), msgId1.hashCode());
        assertEquals(batchMsgId2.hashCode(), msgId2.hashCode());
    }