public boolean removeAll(BooleanIterable source) {
   if (this.isEmpty() || source.isEmpty()) {
     return false;
   }
   boolean modified = false;
   BooleanIterator iterator = source.booleanIterator();
   while (iterator.hasNext()) {
     if (this.state == 0) {
       return modified;
     }
     boolean item = iterator.next();
     if (this.remove(item)) {
       modified = true;
     }
   }
   return modified;
 }