@Override
    public boolean equals(Object o) {

        if (this == o) {
            return true;
        }
        if (!(o instanceof Person)) {
            return false;
        }

        Person person = (Person) o;

        if (age != person.age) {
            return false;
        }
        if (id != person.id) {
            return false;
        }
        if (!apartment.equals(person.apartment)) {
            return false;
        }
        if (!building.equals(person.building)) {
            return false;
        }
        if (!firstName.equals(person.firstName)) {
            return false;
        }
        if (!lastName.equals(person.lastName)) {
            return false;
        }
        if (!street.equals(person.street)) {
            return false;
        }

        return true;
    }