code: def sourceToWordIds(self, last: list | None = None) -> list[int]:
      if last is None:
          last = []
      if not isinstance(self.wordCount, Length):  # type: ignore[has-type]
          self.wordCount = Length(self.wordCount())  # type: ignore[has-type]
      self.wordCount._p_deactivate()
      return list(map(self._getWordIdCreate, last))
  
file_path: dedupe/dedupe/canopy_index.py
imports: from __future__ import annotations
  import logging
  import math
  from typing import Iterable
  import numpy
  from BTrees.Length import Length
  from zope.index.text.cosineindex import CosineIndex
  from zope.index.text.lexicon import Lexicon
  from zope.index.text.setops import mass_weightedUnion
  from zope.index.text.textindex import TextIndex
label_desc: Use image node_id 1 for calling the CanopyLexicon obj's underlying member method code with example usage: obj.sourceToWordIds(last) and returns: list