}
public void testTreeMultimapDerived() {
TreeMultimap<Derived, Derived> multimap = TreeMultimap.create();
assertEquals(ImmutableMultimap.of(), multimap);
multimap.put(new Derived("foo"), new Derived("f"));
multimap.put(new Derived("foo"), new Derived("o"));
multimap.put(new Derived("foo"), new Derived("o"));
multimap.put(new Derived("bar"), new Derived("b"));
multimap.put(new Derived("bar"), new Derived("a"));
multimap.put(new Derived("bar"), new Derived("r"));
assertContentsInOrder(multimap.keySet(),
new Derived("bar"), new Derived("foo"));
assertContentsInOrder(multimap.values(),
new Derived("a"), new Derived("b"), new Derived("r"),
new Derived("f"), new Derived("o"));
assertEquals(Ordering.natural(), multimap.keyComparator());
assertEquals(Ordering.natural(), multimap.valueComparator());
SerializableTester.reserializeAndAssert(multimap);
}