use guava Objects equals and hashcode