code: function selectTransition(pseudoState, instance, message) {
      var transitions = pseudoState.outgoing.filter(function (transition) { return transition.guard(message, instance); });
      if (pseudoState.kind === PseudoStateKind.Choice) {
          return transitions.length !== 0 ? transitions[exports.random(transitions.length)] : findElse(pseudoState);
      }
      if (transitions.length > 1) {
          exports.console.error("Multiple outbound transition guards returned true at " + pseudoState + " for " + message);
      }
      return transitions[0] || findElse(pseudoState);
  }
docs: Select next leg of a composite [[Transition]] after a [[Choice]] or [[Junction]] [[PseudoState]].
  @param pseudoState The [[Choice]] or [[Junction]] [[PseudoState]].
  @param instance The state machine instance.
  @param message The message that triggerd the transition to the [[PseudoState]].
   @internal