src/main/java/org/cornutum/hamcrest/Composites.java
/**
   * Returns a Matcher for an Iterator that visits the given collection of members in any order, with
   * an additional match condition: each member of a matched collection must satisfy the Matcher returned 
   * by the given supplier for its <CODE>equals</CODE>-matching counterpart in the given expected collection.
   */
Returns a Matcher for an Iterator that visits the given collection of members in any order, with
an additional match condition: each member of a matched collection must satisfy the Matcher returned
by the given supplier for its equals-matching counterpart in the given expected collection.
Returns a Matcher for an Iterator that visits the given collection of members in any order with an additional match condition : each member of a matched collection must satisfy the Matcher returned by the given supplier for its equals - matching counterpart in the given expected collection .
public static <T> Matcher<Iterator<T>> visitsMembers( Function<T,Matcher<T>> memberMatcherSupplier, Iterable<? extends T> expected)
    {
    List<T> members = streamFor( expected).collect( toList());
    return new VisitsMembers<T>( members.iterator(), memberMatcherSupplier);
    }
public static < T > Matcher < Iterator < T > > visitsMembers ( Function < T , Matcher < T > > memberMatcherSupplier , Iterable < ? extends T > expected ) { List < T > members = streamFor ( expected ) . collect ( toList ( ) ) ; return new VisitsMembers < T > ( members . iterator ( ) , memberMatcherSupplier ) ; }
Returns a Matcher for an Iterator that visits the given collection of members in any order, with
 an additional match condition: each member of a matched collection must satisfy the Matcher returned
 by the given supplier for its <CODE>equals</CODE>-matching counterpart in the given expected collection.
Returns a Matcher for an Iterator that visits the given collection of members in any order with an additional match condition : each member of a matched collection must satisfy the Matcher returned by the given supplier for its <CODE > equals< / CODE > - matching counterpart in the given expected collection .