@Beta
@GwtCompatible
@Target(value=TYPE)
public @interface EqualsHashCode
equals and hashCode.
All non-static, non-transient fields are used. Subclasses are never equal to their superclasses.
If there is a superclass that overrides equals, then super.equals() and super.hashCode are also called.
Array-valued fields are compared using #Arrays.deepEquals(java.lang.Object[], java.lang.Object[]).