ReferenceImpl implements Reference { @JsonIgnore @Override public List<SnakGroup> getSnakGroups() { if (this.snakGroups == null) { this.snakGroups = SnakGroupImpl.makeSnakGroups(this.snaks, this.propertyOrder); } return this.snakGroups; } 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 snakListIsCorrect() { assertEquals(r1.getSnakGroups(), Collections.singletonList(snakGroup)); }