A generic reusable java equals method implemented with reflection and an optional notion of identities. Useful for avoiding statically defined logical equals/hashcode, and to determine changes in 2 different serialized instances of objects that do not implement equals nor hashcode.