src/main/java/org/cornutum/hamcrest/Composites.java
/**
   * Returns a Matcher for an Iterable containing the given collection of members in any order, with
   * an additional match condition: each member of a matched Iterable must satisfy the Matcher returned 
   * by the given supplier for its <CODE>equals</CODE>-matching counterpart in the given expected Iterable.
   */
Returns a Matcher for an Iterable containing the given collection of members in any order, with
an additional match condition: each member of a matched Iterable must satisfy the Matcher returned
by the given supplier for its equals-matching counterpart in the given expected Iterable.
Returns a Matcher for an Iterable containing the given collection of members in any order with an additional match condition : each member of a matched Iterable must satisfy the Matcher returned by the given supplier for its equals - matching counterpart in the given expected Iterable .
@SafeVarargs
  public static <T> Matcher<Iterable<T>> containsMembers( Function<T,Matcher<T>> memberMatcherSupplier, T... expected)
    {
    return containsMembers( memberMatcherSupplier, Arrays.asList( expected));
    }
@ SafeVarargs public static < T > Matcher < Iterable < T > > containsMembers ( Function < T , Matcher < T > > memberMatcherSupplier , T ... expected ) { return containsMembers ( memberMatcherSupplier , Arrays . asList ( expected ) ) ; }
Returns a Matcher for an Iterable containing the given collection of members in any order, with
 an additional match condition: each member of a matched Iterable must satisfy the Matcher returned
 by the given supplier for its <CODE>equals</CODE>-matching counterpart in the given expected Iterable.
Returns a Matcher for an Iterable containing the given collection of members in any order with an additional match condition : each member of a matched Iterable must satisfy the Matcher returned by the given supplier for its <CODE > equals< / CODE > - matching counterpart in the given expected Iterable .