def _check_transition_validity(self, check_transition):
    ' Transition of BarrierConcurrencyStates must least fulfill the condition of a ContainerState.\n        Start transitions are forbidden in the ConcurrencyState.\n\n        :param check_transition: the transition to check for validity\n        :return:\n        '
    (valid, message) = super(BarrierConcurrencyState, self)._check_transition_validity(check_transition)
    if (not valid):
        return (False, message)
    from_state_id = check_transition.from_state
    to_state_id = check_transition.to_state
    from_outcome_id = check_transition.from_outcome
    to_outcome_id = check_transition.to_outcome
    if (from_state_id == UNIQUE_DECIDER_STATE_ID):
        if (to_state_id != self.state_id):
            return (False, 'Transition from the decider state must go to the parent state')
    elif (to_state_id != UNIQUE_DECIDER_STATE_ID):
        if ((from_outcome_id not in [(- 2), (- 1)]) or (to_outcome_id not in [(- 2), (- 1)])):
            return (False, 'Transition from this state must go to the decider state. The only exception are transition from aborted/preempted to the parent aborted/preempted outcomes')
    return (True, message)
Transition of BarrierConcurrencyStates must least fulfill the condition of a ContainerState.
Start transitions are forbidden in the ConcurrencyState.

:param check_transition: the transition to check for validity
:return:
def _check_transition_validity(self, check_transition):
    ' Transition of BarrierConcurrencyStates must least fulfill the condition of a ContainerState.\n        Start transitions are forbidden in the ConcurrencyState.\n\n        :param check_transition: the transition to check for validity\n        :return:\n        '
    (valid, message) = super(BarrierConcurrencyState, self)._check_transition_validity(check_transition)
    if (not valid):
        return (False, message)
    from_state_id = check_transition.from_state
    to_state_id = check_transition.to_state
    from_outcome_id = check_transition.from_outcome
    to_outcome_id = check_transition.to_outcome
    if (from_state_id == UNIQUE_DECIDER_STATE_ID):
        if (to_state_id != self.state_id):
            return (False, 'Transition from the decider state must go to the parent state')
    elif (to_state_id != UNIQUE_DECIDER_STATE_ID):
        if ((from_outcome_id not in [(- 2), (- 1)]) or (to_outcome_id not in [(- 2), (- 1)])):
            return (False, 'Transition from this state must go to the decider state. The only exception are transition from aborted/preempted to the parent aborted/preempted outcomes')
    return (True, message)