code: def has_tokens(self, phrase):
          
  
          if len(phrase) == 1 and classifier_options.is_special_class_word(phrase[0]):
              return True
  
          tree = self.root
          for token in phrase:
              if not tree.has_child(token):
                  return False
              tree = tree.get_child(token)
  
          return True if tree.is_end_of_phrase() else None
docs: Checks if phrase or sub-phrase exists in the tree.
  
          If set of phrases contains phrases such as: "state", "of the" and "state of the art", look up on:
          "state" returns true, "of" returns null, "of the art" returns false.
  
          :param phrase: Phrase or sub-phrase to look up.
          :type: phrase: list of str
          :return: Returns true if phrase in its entirety is in the tree,
          null if part of the phrase matches a larger tokenSequence,
          false if phrases matches no other phrase entirely and not part any longer phrase.