static <T>boolean removeIf(Iterable<T> removeFrom,Predicate<? super T> predicate){
  if (removeFrom instanceof RandomAccess && removeFrom instanceof List) {
    return removeIfFromRandomAccessList((List<T>)removeFrom,checkNotNull(predicate));
  }
  return Iterators.removeIf(removeFrom.iterator(),predicate);
}

static < T > boolean removeIf ( Iterable < T > removeFrom , Predicate < ? super T > predicate ) { if ( removeFrom instanceof RandomAccess && removeFrom instanceof List ) { return removeIfFromRandomAccessList ( ( List < T > ) removeFrom , checkNotNull ( predicate ) ) ; } return Iterators . removeIf ( removeFrom . iterator ( ) , predicate ) ; }
removes , from an iterable , every element that satisfies the provided predicate .
