public static <T> boolean contains(Iterable<? extends T> iterable, @NotNull T obj) {
    if (iterable instanceof Collection) {
      return ((Collection<?>)iterable).contains(obj);
    }
    if (iterable != null) {
      for (T o : iterable) {
        if (obj.equals(o)) {
          return true;
        }
      }
    }
    return false;
  }
public static <T> boolean contains(Iterable<? extends T> iterable, @NotNull T obj)