Add equals() and hashCode() everywhere