// All non-preemptive and preemptive transitions are checked below,
// because even if a preemptive transition is enabled, the non-preemptive
// transitions never even get a chance to be evaluated.
try {
FSMActor ctrl = getController();
State currentState = ctrl.currentState();
// Check if there is any preemptive transition enabled.
List preemptiveEnabledTransitions = ctrl
.enabledTransitions(currentState.preemptiveTransitionList());
if (preemptiveEnabledTransitions.size() != 0) {