code: public static <T> ConjunctionMatcher<T> compose(Iterable<Matcher<? super T>> matchers)
  	{
  		return compose(null, matchers);
  	}
docs: Returns a matcher that logically ANDs the specified matchers with any number of further matchers.
  <p>
  For example:
  <pre>
  assertThat("ham", compose(asList(startsWith("h"), containsString("a"))).and(endsWith("m")));
  </pre>
  See {@code ConjunctionMatcher} as to how this matcher differs from {@code allOf} and {@code both}.
  
  @param matchers
  the initial matchers to compose
  @param <T>
  the type of the object to be matched
  @return a matcher that can compose itself with further matchers
  @see ConjunctionMatcher