Поясните кто может почему валидатор не принимает, где не правильная проверка? Понятно что через If не очень гуманно, но все же видна логика работы... if (this == o) return true; if (!(o instanceof Solution)) return false; Solution solution = (Solution) o; if (solution.first == null && this.first == null) { if (solution.last == null&& this.last == null) { return true; } else { return this.last.equals(solution.last); } } if (solution.last == null && this.last == null) { return this.first.equals(solution.first); } else { return this.first.equals(solution.first) && this.last.equals(solution.last); } То что генерит IDEA: public static boolean equals(Object a, Object b) { return (a == b) || (a != null && a.equals(b)); } по факту тоже самое просто я расписал для каждого параметра.