public static <T> Collection<T> intersect(Iterable<T> left, Iterable<T> right, Comparator<T> comparator) {
        return intersect(asCollection(left), asCollection(right), comparator);
    }
public static < T > Collection < T > intersect ( Iterable < T > left , Iterable < T > right , Comparator < T > comparator ) { return intersect ( asCollection ( left ) , asCollection ( right ) , comparator ) ; }
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 [3,4] == [1,2,3,4].intersect([3,4,5,6], Comparator.naturalOrder())</pre>

@param left  an Iterable
@param right an Iterable
@param comparator a Comparator
@return a Collection as an intersection of both iterables
@since 2.5.0