code: public static <T> boolean removeIf(Iterable<T> iterable, Predicate<? super T> predicate)
      {
          if (iterable instanceof MutableCollection)
          {
              return ((MutableCollection<T>) iterable).removeIf(predicate);
          }
          if (iterable instanceof ArrayList)
          {
              return ArrayListIterate.removeIf((ArrayList<T>) iterable, predicate);
          }
          if (iterable instanceof List)
          {
              return ListIterate.removeIf((List<T>) iterable, predicate);
          }
          if (iterable != null)
          {
              return IterableIterate.removeIf(iterable, predicate);
          }
          throw new IllegalArgumentException("Cannot perform a remove on null");
      }
docs: Removes all elements from the iterable that evaluate to true for the specified predicate.