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