class ReferenceImpl implements Reference {

	@JsonIgnore
	@Override
	public List<SnakGroup> getSnakGroups() {
		if (this.snakGroups == null) {
			this.snakGroups = SnakGroupImpl.makeSnakGroups(this.snaks,
					this.propertyOrder);
		}
		return this.snakGroups;
	}

	public  ReferenceImpl(List<SnakGroup> groups);
	@JsonCreator protected  ReferenceImpl(
			@JsonProperty("snaks") Map<String, List<SnakImpl>> snaks,
			@JsonProperty("snaks-order") List<String> propertyOrder,
			@JsonProperty("hash") String hash);

}