title: Hamcrest generics hell #2 : iterableWithSize gives errror "is not applicable for the arguments"
body: <p>In hamcrest (1.3.RC2, with no JUnit dependencies) 
  I am failing using <code>iterableWithSize().</code></p>
  
  <p>I have an (extension of) an <code>Iterator</code> parametrized with <code>Content</code> like this
  <code>EndResult&lt;Content&gt; contents = contentRepository.findAllByPropertyValue("title", "*content*");</code></p>
  
  <p>where <code>EndResult</code> is 
  <code>package org.springframework.data.neo4j.conversion;</code>
  <code>public interface EndResult&lt;R&gt; extends Iterable&lt;R&gt; {...}</code>
  and <code>Content</code> is a my Pojo.</p>
  
  <p>Now, I would think that this would work 
   <code>assertThat(contents, iterableWithSize(1));</code></p>
  
  <p>but it gives me the error :
  <b>
  The method assertThat(T, Matcher) 
  in the type Assert is not applicable 
  for the arguments 
  (EndResult&lt; Content>, Matcher&lt; Iterable&lt; Object>>)
  </b></p>
  
  <p>I also tried these failures :</p>
  
  <p><code>assertThat(contents, iterableWithSize(equalTo(1));</code></p>
  
  <p><code>assertThat(contents, IsIterableWithSize.&lt;EndResult&lt;Content&gt;&gt;.iterableWithSize(1));</code></p>
  
  <p>These are my imports :</p>
  
  <pre>
  
      import static org.hamcrest.CoreMatchers.equalTo;
      import static org.hamcrest.collection.IsCollectionWithSize.hasSize;
      import static org.hamcrest.collection.IsIterableWithSize.iterableWithSize;
      import static org.junit.Assert.assertEquals;
      import static org.junit.Assert.assertThat;
      import org.hamcrest.collection.IsIterableWithSize;
  
  </pre>
  
  <p>The hasSize for collections works as expected, but for iterators I cant even find a working example... </p>