ReferenceImpl implements Reference { @Override public int hashCode() { return Hash.hashCode(this); } ReferenceImpl(List<SnakGroup> groups); @JsonCreator protected  ReferenceImpl(
			@JsonProperty("snaks") Map<String, List<SnakImpl>> snaks,
			@JsonProperty("snaks-order") List<String> propertyOrder,
			@JsonProperty("hash") String hash); @JsonIgnore @Override List<SnakGroup> getSnakGroups(); @JsonProperty("snaks") Map<String, List<Snak>> getSnaks(); @Override @JsonInclude(JsonInclude.Include.NON_NULL) String getHash(); @JsonProperty("snaks-order") List<String> getPropertyOrder(); @Override @JsonIgnore Iterator<Snak> getAllSnaks(); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString();  }
@Test public void hashBasedOnContent() { assertEquals(r1.hashCode(), r2.hashCode()); }