final Set<Object> set = new HashSet<Object>();
assertEquals("By Set.hashCode() contract.", 0, set.hashCode());
assertTrue(set.add(ISBN));
assertEquals("Expected Metadata.hashCode() == Set.hashCode().", set.hashCode(), hashCode);
final InternationalString title = new SimpleInternationalString("Dummy title");
citation.setTitle(title);
hashCode = accessor.hashCode(citation);
assertEquals("Metadata with two values.", ISBN.hashCode() + title.hashCode(), hashCode);
assertTrue(set.add(title));
assertEquals("Expected Metadata.hashCode() == Set.hashCode().", set.hashCode(), hashCode);
assertEquals("CitationsImpl.hashCode() should delegate.", hashCode, citation.hashCode());
final Collection<Object> values = citation.asMap().values();