code: def __getRoots(self, lemma, model=None):
          
  
          if lemma not in self.__lemmas__:
              raise UnknownLemma("%s is unknown" % lemma)
  
          ROOT_IDS = {
              "K": "lemma",
              "1": "geninf",
              "2": "perf"
          }
  
          lemma_entry = self.__lemmas__[lemma]
          original_roots = {
              root_id: lemma_entry[root_name].split(",")
              for root_id, root_name in ROOT_IDS.items()
              if root_id != "K" and lemma_entry[root_name]
          }
          returned_roots = {}
  
          if not model:
              model = self.__models__[lemma_entry["model"]]
  
          # For each registered root in the model,
          for model_root_id, model_root_data in model["R"].items():
  
              # If we have K, it's equivalent to canonical form
              if model_root_data[0] == "K":
                  returned_roots[model_root_id] = [lemma_entry["lemma"]]
              # Otherwise we have deletion number and addition char
              else:
                  deletion, addition = int(model_root_data[0]), model_root_data[1] or ""
  
                  # If a the root is declared already,
                  # we retrieve the information
                  if model_root_id != "1" and model_root_id in returned_roots:
                      lemma_roots = returned_roots[model_root_id]
                  else:
                      lemma_roots = lemma_entry["lemma"].split(",")
                  # We construct the roots
                  returned_roots[model_root_id] = [
                      lemma_root[:-deletion] + addition
                      for lemma_root in lemma_roots
                  ]
  
          original_roots.update(returned_roots)
          return original_roots
docs: Retrieve the known roots of a lemma
  
          :param lemma: Canonical form of the word (lemma)
          :type lemma: str
          :param model_roots: Model data from the loaded self.__data__. Can be passed by decline()
          :type model_roots: dict
          :return: Dictionary of roots with their root identifier as key
          :rtype: dict