def run_decider_state(self, decider_state, child_errors, final_outcomes_dict):
    ' Runs the decider state of the barrier concurrency state. The decider state decides on which outcome the\n        barrier concurrency is left.\n\n        :param decider_state: the decider state of the barrier concurrency state\n        :param child_errors: error of the concurrent branches\n        :param final_outcomes_dict: dictionary of all outcomes of the concurrent branches\n        :return:\n        '
    decider_state.state_execution_status = StateExecutionStatus.ACTIVE
    decider_state.child_errors = child_errors
    decider_state.final_outcomes_dict = final_outcomes_dict
    decider_state.input_data = self.get_inputs_for_state(decider_state)
    decider_state.output_data = self.create_output_dictionary_for_state(decider_state)
    decider_state.start(self.execution_history, backward_execution=False)
    decider_state.join()
    decider_state_error = None
    if (decider_state.final_outcome.outcome_id == (- 1)):
        if ('error' in decider_state.output_data):
            decider_state_error = decider_state.output_data['error']
    self.add_state_execution_output_to_scoped_data(decider_state.output_data, decider_state)
    self.update_scoped_variables_with_output_dictionary(decider_state.output_data, decider_state)
    return decider_state_error
Runs the decider state of the barrier concurrency state. The decider state decides on which outcome the
barrier concurrency is left.

:param decider_state: the decider state of the barrier concurrency state
:param child_errors: error of the concurrent branches
:param final_outcomes_dict: dictionary of all outcomes of the concurrent branches
:return:
def run_decider_state(self, decider_state, child_errors, final_outcomes_dict):
    ' Runs the decider state of the barrier concurrency state. The decider state decides on which outcome the\n        barrier concurrency is left.\n\n        :param decider_state: the decider state of the barrier concurrency state\n        :param child_errors: error of the concurrent branches\n        :param final_outcomes_dict: dictionary of all outcomes of the concurrent branches\n        :return:\n        '
    decider_state.state_execution_status = StateExecutionStatus.ACTIVE
    decider_state.child_errors = child_errors
    decider_state.final_outcomes_dict = final_outcomes_dict
    decider_state.input_data = self.get_inputs_for_state(decider_state)
    decider_state.output_data = self.create_output_dictionary_for_state(decider_state)
    decider_state.start(self.execution_history, backward_execution=False)
    decider_state.join()
    decider_state_error = None
    if (decider_state.final_outcome.outcome_id == (- 1)):
        if ('error' in decider_state.output_data):
            decider_state_error = decider_state.output_data['error']
    self.add_state_execution_output_to_scoped_data(decider_state.output_data, decider_state)
    self.update_scoped_variables_with_output_dictionary(decider_state.output_data, decider_state)
    return decider_state_error