docs: def _modify_run_to_states(self, state):
          """
          This is a special case. Inside a hierarchy state a step_over is triggered and affects the last child.
          In this case the self.run_to_states has to be modified in order to contain the parent of the hierarchy state.
          Otherwise the execution won't respect the step_over any more and run until the end of the state machine.
          The same holds for a step_out.
          The reason for this is, that handle_execution_mode() can not be called between
          the last state of a hierarchy state and the termination of the hierarchy state itself.
          """
          if self._status.execution_mode is StateMachineExecutionStatus.FORWARD_OVER or \
                  self._status.execution_mode is StateMachineExecutionStatus.FORWARD_OUT:
              for state_path in copy.deepcopy(self.run_to_states):
                  if state_path == state.get_path():
                      logger.verbose("Modifying run_to_states; triggered by state %s!", state.name)
                      self.run_to_states.remove(state_path)
                      from rafcon.core.states.state import State
                      if isinstance(state.parent, State):
                          from rafcon.core.states.library_state import LibraryState
                          if isinstance(state.parent, LibraryState):
                              parent_path = state.parent.parent.get_path()
                          else:
                              parent_path = state.parent.get_path()
                          self.run_to_states.append(parent_path)
                      break