code: public static <T> boolean every(Iterable<T> self, @ClosureParams(FirstParam.FirstGenericType.class) Closure closure) {
          return every(self.iterator(), closure);
      }
docs: Used to determine if the given predicate closure is valid (i.e.&nsbp;returns
  <code>true</code> for all items in this iterable).
  A simple example for a list:
  <pre>def list = [3,4,5]
  def greaterThanTwo = list.every { it > 2 }
  </pre>
  
  @param self    the iterable over which we iterate
  @param closure the closure predicate used for matching
  @return true if every iteration of the object matches the closure predicate
  @since 2.3.0