*/
public boolean doTransition(final String key) {
final AbstractFiniteState state = getCurrentState();
// see if current state has a transition
if (state instanceof SteadyState) {
final SteadyState steadyState = (SteadyState) state;
AbstractFiniteState nextState = steadyState.doTransition(key, this);
if (nextState == null) {
// no transition found, check if there is a global transition
AbstractTransitionState transition = _transitions.get(key);
if (transition == null) {
transition = _transitions.get("*");