So in given code (find mistakes etc.) there is a function overwritten that's called "HashCode".
What is this used for?
example
public int hashCode() {
int result = name != null ? name.hashCode() : 0;
result = 31 * result + (assets != null ? assets.hashCode() : 0);
return result;
}