docs: def _check_transition_origin(self, transition):
          """Checks the validity of a transition origin
  
          Checks whether the transition origin is valid.
  
          :param rafcon.core.transition.Transition transition: The transition to be checked
          :return bool validity, str message: validity is True, when the transition is valid, False else. message gives
              more information especially if the transition is not valid
          """
          from_state_id = transition.from_state
          from_outcome_id = transition.from_outcome
  
          if from_state_id == self.state_id:
              return False, "from_state_id of transition must not be the container state itself." \
                            " In the case of a start transition both the from state and the from_outcome are None."
  
          if from_state_id != self.state_id and from_state_id not in self.states:
              return False, "from_state not existing"
  
          from_outcome = self.get_outcome(from_state_id, from_outcome_id)
          if from_outcome is None:
              return False, "from_outcome not existing in from_state"
  
          return True, "valid"