Всем привет! Ребят, подскажите, в чем может быть проблема. Тестирую с разными созданными объектами, вроде как, все верно, но валидатор не пропускает.
package com.javarush.task.pro.task10.task1010;

import java.util.Objects;

/*
Два айфона
*/

public class Iphone {
    private String model;
    private String color;
    private int price;

    public Iphone(String model, String color, int price) {
        this.model = model;
        this.color = color;
        this.price = price;
    }

    public boolean equals(Object obj) {
//      Если обьек, у которого вызвали метод equals равен переданному обьекту;
        if (this == obj) {
            return true;
        }
//      Если переданный обьект равен null;
        if (obj == null) {
            return false;
        }
//      Если переданный обьект не класса "Iphone";
        if (!(obj instanceof Iphone)){
            return false;
        }
//      Операция приведения типа;
        Iphone x = (Iphone) obj;
//      Далее сравниваем внутринности двух обьектов;

//      Если поля "price" не равны у двух сравниваемых обьектов;
        if (this.price != x.price) {
            return false;
        }
//      Сравниваем у двух обьектов поля "model" на null;
        if (this.model == null ) {
            return x.model == null;
        }
//      Сравниваем у двух обьектов поля "model" на null;
        if (this.color == null) {
            return x.color == null;
        }
//      Если программа дошла до этой строчки - сравниваем у двух обьевтов поля "model" и "color"
        return this.model.equals(x.model) && this.color.equals(x.color);
    }


    public static void main(String[] args) {
        Iphone iphone1 = new Iphone("X", "Black", 999);
        Iphone iphone2 = new Iphone("X", "Black", 999);

        System.out.println(iphone1.equals(iphone2));
    }

}