docs: def re_initiate_model_list(self, model_list_or_dict, core_objects_dict, model_name, model_class, model_key):
          """Recreate model list
  
          The method re-initiate a handed list or dictionary of models with the new dictionary of core-objects.
  
          :param model_list_or_dict: could be a list or dictionary of one model type
          :param core_objects_dict: new dictionary of one type of core-elements (rafcon.core)
          :param model_name: prop_name for the core-element hold by the model, this core-element is covered by the model
          :param model_class: model-class of the elements that should be insert
          :param model_key: if model_list_or_dict is a dictionary the key is the id of the respective element
                            (e.g. 'state_id')
          :return:
          """
          if model_name == "income":
              if self.income.income != self.state.income:
                  self._add_model(self.income, self.state.income, IncomeModel)
              return
  
          for _ in range(len(model_list_or_dict)):
              self.remove_additional_model(model_list_or_dict, core_objects_dict, model_name, model_key)
  
          if core_objects_dict:
              for _ in core_objects_dict:
                  self.add_missing_model(model_list_or_dict, core_objects_dict, model_name, model_class, model_key)