можете подробней объяснить, что происходит в каждой строке?
public boolean equals(Object o) {
if (this == o)
return true;
System.out.println(getClass()+" "+o.getClass());
if (o == null || getClass() != o.getClass()) return false;
Human human = (Human) o;
if (name != null ? !name.equals(human.name) : human.name != null)
return false;
return assets != null ? assets.equals(human.assets) : human.assets == null;
}