code: public static <T> Collection<T> intersect(Iterable<T> left, Iterable<T> right) {
          return intersect(asCollection(left), asCollection(right));
      }
docs: Create a Collection composed of the intersection of both iterables.  Any
  elements that exist in both iterables are added to the resultant collection.
  For iterables of custom objects; the objects should implement java.lang.Comparable
  <pre class="groovyTestCase">assert [4,5] == [1,2,3,4,5].intersect([4,5,6,7,8])</pre>
  By default, Groovy uses a {@link NumberAwareComparator} when determining if an
  element exists in both collections.
  
  @param left  an Iterable
  @param right an Iterable
  @return a Collection as an intersection of both iterables
  @see #intersect(Iterable, Iterable, Comparator)
  @since 2.4.0