Key implements Comparable<Key> { @Override public int compareTo(final Key key) { return keyDefinition.compareTo(key.keyDefinition); } Key(final KeyDefinition keyDefinition,
               final Comparable value);  Key(final KeyDefinition keyDefinition,
               final Values values); KeyDefinition getKeyDefinition(); Values<Value> getValues(); Comparable getSingleValueComparator(); Value getSingleValue(); @Override int compareTo(final Key key);  }
@Test public void testEqual() throws Exception { final Key a = new Key(KeyDefinition.newKeyDefinition().withId("id").build(), 2); final Key b = new Key(KeyDefinition.newKeyDefinition().withId("id").build(), 2); assertEquals(0, a.compareTo(b)); }