@Test
public void equalsWithDifferentTypes() throws Exception {

    AttributeKey<Number> key1 = new AttributeKey<Number>(Number.class, "keyName");
    AttributeKey<Date> key2 = new AttributeKey<Date>(Date.class, "keyName");
    assertThat(key1.equals(key2), is(false));
    assertThat(key2.equals(key1), is(false));
}