### Question:
AbstractLocation implements Location { @Override public final boolean childOf(Location other) { Validate.notNull(other, "other must not be null"); Integer firstId = CollectionHelper.getFirst(this.getAncestorIds()); if (firstId == null) { return false; } return firstId == other.getId(); }  @Override final boolean descendantOf(Location other); @Override final boolean childOf(Location other); @Override final boolean commonName(Location other); @Override final Set<String> collectAlternativeNames(); @Override @Deprecated final Double getLatitude(); @Override @Deprecated final Double getLongitude(); @Override String toString(); @Override boolean hasName(String name, Set<Language> languages); @Override int hashCode(); @Override boolean equals(Object obj);  }### Answer:
@Test public void testChildOf() { assertTrue(l3.childOf(l4)); assertFalse(l4.childOf(l3)); assertFalse(l1.childOf(l2)); }