code: @Override
    public boolean addAll(IntSet c)
    {
      if (c == null || c.isEmpty() || this == c) {
        return false;
      }
  
      final FastSet other = convert(c);
  
      int wordsInCommon = Math.min(firstEmptyWord, other.firstEmptyWord);
  
      boolean modified = false;
      if (firstEmptyWord < other.firstEmptyWord) {
        modified = true;
        ensureCapacity(other.firstEmptyWord);
        firstEmptyWord = other.firstEmptyWord;
      }
  
      final int[] localWords = words;       // faster
      final int[] localOtherWords = other.words;   // faster
  
      // Perform logical OR on words in common
      for (int i = 0; i < wordsInCommon; i++) {
        int before = localWords[i];
        localWords[i] |= localOtherWords[i];
        modified = modified || before != localWords[i];
      }
  
      // Copy any remaining words
      if (wordsInCommon < other.firstEmptyWord) {
        modified = true;
        System.arraycopy(
            other.words, wordsInCommon, words,
            wordsInCommon, firstEmptyWord - wordsInCommon
        );
      }
      if (modified) {
        size = -1;
      }
      return modified;
    }
docs: {@inheritDoc}