code: @Override
    public int intersectionSize(IntSet c)
    {
      if (c == null || c.isEmpty()) {
        return 0;
      }
      if (c == this) {
        return size();
      }
      if (isEmpty()) {
        return 0;
      }
  
      final FastSet other = convert(c);
      final int[] localWords = words;       // faster
      final int[] localOtherWords = other.words;   // faster
  
      int count = 0;
      for (int i = Math.min(firstEmptyWord, other.firstEmptyWord) - 1; i >= 0; i--) {
        count += Integer.bitCount(localWords[i] & localOtherWords[i]);
      }
      return count;
    }
docs: {@inheritDoc}