### Question:
IdentifiableModel extends FeatureAbstract implements Identifiable, Recyclable { @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + id.hashCode(); return result; } IdentifiableModel(); @Override void addListener(IdentifiableListener listener); @Override void removeListener(IdentifiableListener listener); @Override Integer getId(); @Override void destroy(); @Override void notifyDestroyed(); @Override void recycle(); @Override int hashCode(); @Override boolean equals(Object obj);  }### Answer:
@Test void testHashCode() { final IdentifiableModel model = new IdentifiableModel(); assertHashEquals(model, model); assertHashNotEquals(model, new Object()); assertHashNotEquals(model, new IdentifiableModel()); }