@Override
  public int hashCode() {
    int hash = super.hashCode() + 7;
    hash += clazz.hashCode() + (isSetValue() ? value.hashCode() : 0);
    hash += (defaultValue != null ? defaultValue.hashCode() : 0);
    return hash;
  }