public static <T>boolean someIntersect(final Collection<T> c1,final Collection<T> c2){
  if (c1.isEmpty()) {
    return false;
  }
  if (c2.isEmpty()) {
    return false;
  }
  final Iterator<T> iter=c1.iterator();
  while (iter.hasNext()) {
    if (c2.contains(iter.next())) {
      return true;
    }
  }
  return false;
}

public static < T > boolean someIntersect ( final Collection < T > c1 , final Collection < T > c2 ) { if ( c1 . isEmpty ( ) ) { return false ; } if ( c2 . isEmpty ( ) ) { return false ; } final Iterator < T > iter = c1 . iterator ( ) ; while ( iter . hasNext ( ) ) { if ( c2 . contains ( iter . next ( ) ) ) { return true ; } } return false ; }
equivalent to ! intersection ( c1 , c2 ) . isempty ( ) , but more effecient .
