@Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (!(o instanceof DurableExecutorWaitNotifyKey)) {
            return false;
        }
        if (!super.equals(o)) {
            return false;
        }

        DurableExecutorWaitNotifyKey that = (DurableExecutorWaitNotifyKey) o;
        return (uniqueId == that.uniqueId);
    }
@Test
    public void testEquals() {
        assertEquals(notifyKey, notifyKey);
        assertEquals(notifyKey, notifyKeySameAttributes);

        assertNotEquals(null, notifyKey);
        assertNotEquals(new Object(), notifyKey);

        assertNotEquals(notifyKey, notifyKeyOtherUniqueId);
        assertNotEquals(notifyKey, notifyKeyOtherName);
    }