test_class.declarator: subject = new ItemIdValueImpl("Q42",
  			"http://wikidata.org/entity/")
test_class.modifier: private final
test_class.original_string: private final EntityIdValue subject = new ItemIdValueImpl("Q42",
  			"http://wikidata.org/entity/");
test_class.type: EntityIdValue
test_class.var_name: subject
test_class.declarator: property = new PropertyIdValueImpl(
  			"P42", "http://wikidata.org/entity/")
test_class.modifier: private final
test_class.original_string: private final PropertyIdValue property = new PropertyIdValueImpl(
  			"P42", "http://wikidata.org/entity/");
test_class.type: PropertyIdValue
test_class.var_name: property
test_class.declarator: valueSnak = new ValueSnakImpl(property, subject)
test_class.modifier: private final
test_class.original_string: private final ValueSnak valueSnak = new ValueSnakImpl(property, subject);
test_class.type: ValueSnak
test_class.var_name: valueSnak
test_class.declarator: snakGroup = new SnakGroupImpl(
  			Collections. singletonList(valueSnak))
test_class.modifier: private final
test_class.original_string: private final SnakGroup snakGroup = new SnakGroupImpl(
  			Collections. singletonList(valueSnak));
test_class.type: SnakGroup
test_class.var_name: snakGroup
test_class.declarator: r1 = new ReferenceImpl(Collections.singletonList(snakGroup))
test_class.modifier: private final
test_class.original_string: private final Reference r1 = new ReferenceImpl(Collections.singletonList(snakGroup));
test_class.type: Reference
test_class.var_name: r1
test_class.declarator: r2 = new ReferenceImpl(Collections.singletonList(snakGroup))
test_class.modifier: private final
test_class.original_string: private final Reference r2 = new ReferenceImpl(Collections.singletonList(snakGroup));
test_class.type: Reference
test_class.var_name: r2
test_class.file: wdtk-datamodel/src/test/java/org/wikidata/wdtk/datamodel/implementation/ReferenceImplTest.java
test_class.identifier: ReferenceImplTest
test_case.body: @Test
  	public void iterateOverAllSnaks() {
  		Iterator<Snak> snaks = r1.getAllSnaks();
  
  		assertTrue(snaks.hasNext());
  		assertEquals(valueSnak, snaks.next());
  		assertFalse(snaks.hasNext());
  	}
test_case.class_method_signature: ReferenceImplTest.iterateOverAllSnaks()
test_case.full_signature: @Test public void iterateOverAllSnaks()
test_case.identifier: iterateOverAllSnaks
test_case.invocations: getAllSnaks assertTrue hasNext assertEquals next assertFalse hasNext
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void iterateOverAllSnaks()
focal_class.declarator: snakGroups
focal_class.modifier: private
focal_class.original_string: private List<SnakGroup> snakGroups;
focal_class.type: List<SnakGroup>
focal_class.var_name: snakGroups
focal_class.declarator: snaks
focal_class.modifier: private final
focal_class.original_string: private final Map<String, List<Snak>> snaks;
focal_class.type: Map<String, List<Snak>>
focal_class.var_name: snaks
focal_class.declarator: propertyOrder
focal_class.modifier: private final
focal_class.original_string: private final List<String> propertyOrder;
focal_class.type: List<String>
focal_class.var_name: propertyOrder
focal_class.declarator: hash
focal_class.modifier: private final
focal_class.original_string: private final String hash;
focal_class.type: String
focal_class.var_name: hash
focal_class.file: wdtk-datamodel/src/main/java/org/wikidata/wdtk/datamodel/implementation/ReferenceImpl.java
focal_class.identifier: ReferenceImpl
focal_class.interfaces: implements Reference
focal_class.class_method_signature: ReferenceImpl.ReferenceImpl(List<SnakGroup> groups)
focal_class.full_signature: public  ReferenceImpl(List<SnakGroup> groups)
focal_class.identifier: ReferenceImpl
focal_class.modifiers: public
focal_class.parameters: (List<SnakGroup> groups)
focal_class.signature:  ReferenceImpl(List<SnakGroup> groups)
focal_class.class_method_signature: ReferenceImpl.ReferenceImpl(
  			@JsonProperty("snaks") Map<String, List<SnakImpl>> snaks,
  			@JsonProperty("snaks-order") List<String> propertyOrder,
  			@JsonProperty("hash") String hash)
focal_class.full_signature: @JsonCreator protected  ReferenceImpl(
  			@JsonProperty("snaks") Map<String, List<SnakImpl>> snaks,
  			@JsonProperty("snaks-order") List<String> propertyOrder,
  			@JsonProperty("hash") String hash)
focal_class.identifier: ReferenceImpl
focal_class.modifiers: @JsonCreator protected
focal_class.parameters: (
  			@JsonProperty("snaks") Map<String, List<SnakImpl>> snaks,
  			@JsonProperty("snaks-order") List<String> propertyOrder,
  			@JsonProperty("hash") String hash)
focal_class.signature:  ReferenceImpl(
  			@JsonProperty("snaks") Map<String, List<SnakImpl>> snaks,
  			@JsonProperty("snaks-order") List<String> propertyOrder,
  			@JsonProperty("hash") String hash)
focal_class.class_method_signature: ReferenceImpl.getSnakGroups()
focal_class.full_signature: @JsonIgnore @Override public List<SnakGroup> getSnakGroups()
focal_class.identifier: getSnakGroups
focal_class.modifiers: @JsonIgnore @Override public
focal_class.parameters: ()
focal_class.return: List<SnakGroup>
focal_class.signature: List<SnakGroup> getSnakGroups()
focal_class.class_method_signature: ReferenceImpl.getSnaks()
focal_class.full_signature: @JsonProperty("snaks") public Map<String, List<Snak>> getSnaks()
focal_class.identifier: getSnaks
focal_class.modifiers: @JsonProperty("snaks") public
focal_class.parameters: ()
focal_class.return: Map<String, List<Snak>>
focal_class.signature: Map<String, List<Snak>> getSnaks()
focal_class.class_method_signature: ReferenceImpl.getHash()
focal_class.full_signature: @Override @JsonInclude(JsonInclude.Include.NON_NULL) public String getHash()
focal_class.identifier: getHash
focal_class.modifiers: @Override @JsonInclude(JsonInclude.Include.NON_NULL) public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getHash()
focal_class.class_method_signature: ReferenceImpl.getPropertyOrder()
focal_class.full_signature: @JsonProperty("snaks-order") public List<String> getPropertyOrder()
focal_class.identifier: getPropertyOrder
focal_class.modifiers: @JsonProperty("snaks-order") public
focal_class.parameters: ()
focal_class.return: List<String>
focal_class.signature: List<String> getPropertyOrder()
focal_class.class_method_signature: ReferenceImpl.getAllSnaks()
focal_class.full_signature: @Override @JsonIgnore public Iterator<Snak> getAllSnaks()
focal_class.identifier: getAllSnaks
focal_class.modifiers: @Override @JsonIgnore public
focal_class.parameters: ()
focal_class.return: Iterator<Snak>
focal_class.signature: Iterator<Snak> getAllSnaks()
focal_class.class_method_signature: ReferenceImpl.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: ReferenceImpl.equals(Object obj)
focal_class.full_signature: @Override public boolean equals(Object obj)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object obj)
focal_class.return: boolean
focal_class.signature: boolean equals(Object obj)
focal_class.class_method_signature: ReferenceImpl.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_method.body: @Override
  	@JsonIgnore
  	public Iterator<Snak> getAllSnaks() {
  		return new NestedIterator<>(getSnakGroups());
  	}
focal_method.class_method_signature: ReferenceImpl.getAllSnaks()
focal_method.full_signature: @Override @JsonIgnore public Iterator<Snak> getAllSnaks()
focal_method.identifier: getAllSnaks
focal_method.invocations: getSnakGroups
focal_method.modifiers: @Override @JsonIgnore public
focal_method.parameters: ()
focal_method.return: Iterator<Snak>
focal_method.signature: Iterator<Snak> getAllSnaks()