code: def tag_one(self: object, tokens: List[str], index: int, history: List[str]):
          
          lemma = None
          for tagger in self._taggers:
              lemma = tagger.choose_tag(tokens, index, history)
              if lemma is not None:
                  break
          return lemma, tagger
docs: Determine an appropriate tag for the specified token, and
          return that tag.  If this tagger is unable to determine a tag
          for the specified token, then its backoff tagger is consulted.
  
          :rtype: tuple
          :type tokens: list
          :param tokens: The list of words that are being tagged.
          :type index: int
          :param index: The index of the word whose tag should be
              returned.
          :type history: list(str)
          :param history: A list of the tags for all words before index.