code: @Override
    public boolean removeAll(IntSet c)
    {
      if (c == null || c.isEmpty() || isEmpty()) {
        return false;
      }
      if (c == this) {
        clear();
        return true;
      }
  
      final FastSet other = convert(c);
      final int[] localWords = words;       // faster
      final int[] localOtherWords = other.words;   // faster
  
      // Perform logical (a & !b) on words in common
      boolean modified = false;
      for (int i = Math.min(firstEmptyWord, other.firstEmptyWord) - 1; i >= 0; i--) {
        int before = localWords[i];
        localWords[i] &= ~localOtherWords[i];
        modified = modified || before != localWords[i];
      }
      if (modified) {
        fixFirstEmptyWord();
        size = -1;
      }
      return modified;
    }
docs: {@inheritDoc}