private void recalculateWordsInUse()
    {
        // Traverse the bitset until a used word is found
        int i;
        for (i = wordsInUse - 1; i >= 0; i--)
            if (words[i] != 0)
                break;
        
        wordsInUse = i + 1; // The new logical size
    }