public final boolean equals(Object o) {
            Object k, v, u; Map.Entry<?,?> e;
            return ((o instanceof Map.Entry) &&
                    (k = (e = (Map.Entry<?,?>)o).getKey()) != null &&
                    (v = e.getValue()) != null &&
                    (k == key || hashingStrategy.equals((K)k, key)) &&
                    (v == (u = val) || v.equals(u)));
        }
public final boolean equals(Object o)