code: public boolean removeAll(Collection<?> c) {
          // Override AbstractSet version to avoid unnecessary call to size()
          boolean modified = false;
          for (Object e : c)
              if (remove(e))
                  modified = true;
          return modified;
      }
docs: Removes from this set all of its elements that are contained in
  the specified collection.  If the specified collection is also
  a set, this operation effectively modifies this set so that its
  value is the <i>asymmetric set difference</i> of the two sets.
  
  @param  c collection containing elements to be removed from this set
  @return {@code true} if this set changed as a result of the call
  @throws ClassCastException if the class of an element of this set
  is incompatible with the specified collection
  (<a href="../Collection.html#optional-restrictions">optional</a>)
  @throws NullPointerException if the specified collection or any
  of its elements are null