code: public static <T> Collection<T> findAll(Collection<T> self, @ClosureParams(FirstParam.FirstGenericType.class) Closure closure) {
          Collection<T> answer = createSimilarCollection(self);
          Iterator<T> iter = self.iterator();
          return findAll(closure, answer, iter);
      }
docs: Finds all values matching the closure condition.
  <pre class="groovyTestCase">assert [2,4] == [1,2,3,4].findAll { it % 2 == 0 }</pre>
  
  @param self    a Collection
  @param closure a closure condition
  @return a Collection of matching values
  @since 1.5.6