Для определенного объекта может быть переопределен метод equals().
Например, по задачам бизнес-логики объект считается null если его "самоеГлавноеПоле" есть null.
В данном же случе - либо старый неисправленный код (раньше параметром приходил не Object а что-то другое) либо банальная ошибка.
А вообще, в случае с пользовательским классом второе условие без первого может сработать.
Например:
package tk.lslayer.temp;
public class NullComparator {
public Integer someField = null;
@Override
public boolean equals(Object obj) {
if (obj == null && someField == null) return true;
if (obj != null && obj instanceof NullComparator) {
return ((NullComparator) obj).someField == someField ?
true : false;
} else return false;
}
public static void main(String[] args) {
NullComparator comparator1 = new NullComparator();
if (comparator1 == null)
System.out.println("!= null");
if (comparator1.equals(null))
System.out.println(".equals(null)");
}
}