@Override
  public boolean equals(Object obj) {
    if (this == obj) return true;
    if (obj == null) return false;
    if (getClass() != obj.getClass()) return false;
    final Cheesery other = (Cheesery) obj;
    if (cheese == null) {
      if (other.cheese != null) return false;
    }
    else if (!cheese.equals(other.cheese)) return false;
    if (name == null) {
      if (other.name != null) return false;
    }
    else if (!name.equals(other.name)) return false;
    return true;
  }