public <T> void assertContainsElements(
     Collection<? extends T> collection, Collection<T> expected) {
   ArrayList<T> copy = new ArrayList<T>(collection);
   copy.retainAll(expected);
   assertSameElements(toString(collection), copy, expected);
 }
 public <T> void assertContainsOrdered(
     Collection<? extends T> collection, Collection<T> expected) {
   ArrayList<T> copy = new ArrayList<T>(collection);
   copy.retainAll(expected);
   assertOrderedEquals(toString(collection), copy, expected);
 }