== Reflexive / null == p.equals(p) = true p.equals(null) = false == Symmetry broken by instanceof + extra field == plain.equals(red) = true red.equals(plain) = false List.of(plain).contains(red) = false List.of(red).contains(plain) = true == Transitivity broken by the lenient fix == r.equals(plain) = true plain.equals(b) = true r.equals(b) = false == Consistency broken by a changing equals() == f.equals(f2) x4 = true false true false