code: public static boolean disjoint(final Collection<?> c1, final Collection<?> c2) {
          if (isNullOrEmpty(c1) || isNullOrEmpty(c2)) {
              return true;
          }
  
          if (c1 instanceof Set || (c2 instanceof Set == false && c1.size() > c2.size())) {
              for (Object e : c2) {
                  if (c1.contains(e)) {
                      return false;
                  }
              }
          } else {
              for (Object e : c1) {
                  if (c2.contains(e)) {
                      return false;
                  }
              }
          }
  
          return true;
      }
docs: Returns {@code true} if the two specified arrays have no elements in common.
  
  @param a
  @param b
  @return {@code true} if the two specified arrays have no elements in common.
  @see Collections#disjoint(Collection, Collection)