The contract of Object.equals() states that for any non-null reference value
x, x.equals(null) should return false. Thus code such as
if (x.equals(null)) {
...
}
either returns false, or throws a NullPointerException if x is null. The
nested block may never execute.
This check replaces x.equals(null) with x == null, and !x.equals(null)
with x != null. If the author intended for x.equals(null) to return true,
consider this as fragile code as it breaks the contract of Object.equals().
See Effective Java 3rd Edition ยง10: Objey the general contract when overriding equals for more details.
Suppress false positives by adding the suppression annotation @SuppressWarnings("EqualsNull") to the enclosing element.