code: public static boolean disjoint(Iterable left, Iterable right) {
          Collection leftCol = asCollection(left);
          Collection rightCol = asCollection(right);
  
          if (leftCol.isEmpty() || rightCol.isEmpty())
              return true;
  
          Collection pickFrom = new TreeSet(new NumberAwareComparator());
          pickFrom.addAll(rightCol);
  
          for (final Object o : leftCol) {
              if (pickFrom.contains(o))
                  return false;
          }
          return true;
      }
docs: Returns <code>true</code> if the intersection of two iterables is empty.
  <pre class="groovyTestCase">assert [1,2,3].disjoint([3,4,5]) == false</pre>
  <pre class="groovyTestCase">assert [1,2].disjoint([3,4]) == true</pre>
  
  @param left  an Iterable
  @param right an Iterable
  @return boolean   <code>true</code> if the intersection of two iterables
  is empty, <code>false</code> otherwise.
  @since 2.4.0