}
private void performStateTransition( FSM fsm, Input in,
StateImpl nextState, Action action, boolean debug )
{
StateImpl currentState = (StateImpl)fsm.getState() ;
// Perform the state transition. Pre and post actions are only
// performed if the state changes (see UML hidden transitions).
boolean different = !currentState.equals( nextState ) ;
if (different) {
if (debug)
ORBUtility.dprint( this,
"doIt: executing postAction for state " + currentState ) ;
try {
currentState.postAction( fsm ) ;
} catch (Throwable thr) {
if (debug)
ORBUtility.dprint( this,
"doIt: postAction threw " + thr ) ;