@Override
    public int hashCode() {
        int result = key != null ? key.hashCode() : 0;
        result = 31 * result + (value != null ? value.hashCode() : 0);
        result = 31 * result + (dataKey != null ? dataKey.hashCode() : 0);
        result = 31 * result + (dataNewValue != null ? dataNewValue.hashCode() : 0);
        result = 31 * result + (dataOldValue != null ? dataOldValue.hashCode() : 0);
        result = 31 * result + (int) (sequence ^ (sequence >>> 32));
        result = 31 * result + (serializationService != null ? serializationService.hashCode() : 0);
        result = 31 * result + eventType;
        result = 31 * result + partitionId;
        result = 31 * result + (mapName != null ? mapName.hashCode() : 0);
        return result;
    }
@Test
    public void testHashCode() {
        assertEquals(queryCacheEventData.hashCode(), queryCacheEventData.hashCode());
        assertEquals(queryCacheEventData.hashCode(), queryCacheEventDataSameAttributes.hashCode());

        assumeDifferentHashCodes();
        assertNotEquals(queryCacheEventData.hashCode(), queryCacheEventDataOtherSequence.hashCode());
        assertNotEquals(queryCacheEventData.hashCode(), queryCacheEventDataOtherEventType.hashCode());
        assertNotEquals(queryCacheEventData.hashCode(), queryCacheEventDataOtherPartitionId.hashCode());

        assertNotEquals(queryCacheEventData.hashCode(), queryCacheEventDataOtherKey.hashCode());
        assertNotEquals(queryCacheEventData.hashCode(), queryCacheEventDataOtherValue.hashCode());

        assertNotEquals(queryCacheEventData.hashCode(), queryCacheEventDataOtherDataKey.hashCode());
        assertNotEquals(queryCacheEventData.hashCode(), queryCacheEventDataOtherDataNewValue.hashCode());
        assertNotEquals(queryCacheEventData.hashCode(), queryCacheEventDataOtherDataOldValue.hashCode());

        assertNotEquals(queryCacheEventData.hashCode(), queryCacheEventDataOtherSerializationService.hashCode());
        assertNotEquals(queryCacheEventData.hashCode(), queryCacheEventDataOtherMapName.hashCode());
    }