docs: def _check_model_types(self, models):
          """ Check types of passed models for correctness and in case raise exception
  
          :rtype: set
          :returns: set of models that are valid for the class"""
          if not hasattr(models, "__iter__"):
              models = {models}
          if not all([isinstance(model, (AbstractStateModel, StateElementModel)) for model in models]):
              raise TypeError("The selection supports only models with base class AbstractStateModel or "
                              "StateElementModel, see handed elements {0}".format(models))
          return models if isinstance(models, set) else set(models)