Method implementation ``` @Override public int hashCode() { return Objects.hashCode(this); } ``` Objects.hashCode implementation ``` public static int hashCode(Object o) { return o != null ? o.hashCode() : 0; } ``` This obviously causes infinite recursion for non-null objects