docs: def _handle_forward_execution_after_child_execution(self):
          """ Cleanup the former child state execution and prepare for the next state execution in the forward
          execution case.
          :return: a flag to indicate if normal child state execution should abort
          """
          self.add_state_execution_output_to_scoped_data(self.child_state.output_data, self.child_state)
          self.update_scoped_variables_with_output_dictionary(self.child_state.output_data, self.child_state)
          self.execution_history.push_return_history_item(
              self.child_state, CallType.EXECUTE, self, self.child_state.output_data)
          # not explicitly connected preempted outcomes are implicit connected to parent preempted outcome
          transition = self.get_transition_for_outcome(self.child_state, self.child_state.final_outcome)
  
          if transition is None:
              transition = self.handle_no_transition(self.child_state)
          # if the transition is still None, then the child_state was preempted or aborted, in this case
          # return
          if transition is None:
              return True
  
          self.last_transition = transition
          self.child_state = self.get_state_for_transition(transition)
          if transition is not None and self.child_state is self:
              self.final_outcome = self.outcomes[transition.to_outcome]
  
          if self.child_state is self:
              singleton.state_machine_execution_engine._modify_run_to_states(self)
          return False