title: Is there a Hamcrest "for each" Matcher that asserts all elements of a Collection or Iterable match a single specific Matcher?
body: <p>Given a <code>Collection</code> or <code>Iterable</code> of items, is there any <code>Matcher</code> (or combination of matchers) that will assert every item matches a single <code>Matcher</code>?</p>
  
  <p>For example, given this item type:</p>
  
  <pre><code>public interface Person {
      public String getGender();
  }
  </code></pre>
  
  <p>I'd like to write an assertion that all items in a collection of <code>Person</code>s have a specific <code>gender</code> value. I'm thinking something like this:</p>
  
  <pre><code>Iterable&lt;Person&gt; people = ...;
  assertThat(people, each(hasProperty("gender", "Male")));
  </code></pre>
  
  <p>Is there any way to do this without writing the <code>each</code> matcher myself?</p>