@Test public void hashBasedOnContent() { assertEquals(s1.hashCode(), s2.hashCode()); }
@Override public int hashCode() { return Hash.hashCode(this); }
StringValueImpl extends ValueImpl implements StringValue { @Override public int hashCode() { return Hash.hashCode(this); } }
StringValueImpl extends ValueImpl implements StringValue { @Override public int hashCode() { return Hash.hashCode(this); } @JsonCreator  StringValueImpl(
			@JsonProperty("value") String value); }
StringValueImpl extends ValueImpl implements StringValue { @Override public int hashCode() { return Hash.hashCode(this); } @JsonCreator  StringValueImpl(
			@JsonProperty("value") String value); String getValue(); @Override int hashCode(); @Override boolean equals(Object obj); @JsonIgnore @Override String getString(); @Override T accept(ValueVisitor<T> valueVisitor); @Override String toString(); }
StringValueImpl extends ValueImpl implements StringValue { @Override public int hashCode() { return Hash.hashCode(this); } @JsonCreator  StringValueImpl(
			@JsonProperty("value") String value); String getValue(); @Override int hashCode(); @Override boolean equals(Object obj); @JsonIgnore @Override String getString(); @Override T accept(ValueVisitor<T> valueVisitor); @Override String toString();  }