@Override
  public boolean equals(Object obj) {
    if (obj == this) {
      return true;
    }
    if (obj == null || obj.getClass() != getClass()) {
      return false;
    }
    return ComparableObjectCheck.equals(this, obj);
  }
@Override
  public boolean equals(Object obj)