System.out.println( Thread.currentThread().getName() + " executing state procedure" );
    private boolean advance() throws LemRuntimeException {        metamodel.Class c = instance.getInstanceClass() ;        metamodel.StateMachine m = c.getStateMachine() ;        metamodel.State currentState = instance.currentState ;                if ( m.getStateTransitionCount() == 0 )            return false;                System.out.println( Thread.currentThread().getName() + " InstanceInterpreter getting a next signal" );        Signal s = instance.getNextSignal();        System.out.println( Thread.currentThread().getName() + " InstanceInterpreter got a next signal" );                Iterator i = m.getTransitionList().iterator();        System.out.println( Thread.currentThread().getName() + " InstanceInterpreter searching for a Transition" );        while ( i.hasNext() ) {            Transition t = (Transition)i.next();                        /* Skip initialising transition */            if ( t.getFromState() == null )                continue;                        System.out.println( s.getEvent().hashCode() + " == " + t.getEvent().hashCode() + " ??" );            if ( s.getEvent() == t.getEvent()            && t.getFromState() == currentState ) {                metamodel.State newState = t.getToState();                instance.currentState = newState;                System.out.println( Thread.currentThread().getName()                + " transitioning state to " + newState.getName() );                if ( newState instanceof NonDeletionState ) {                    Procedure p = newState.getProcedure();                    System.out.println( Thread.currentThread().getName()                    + " executing state procedure" );                    interpreter.interpret( p, context );                    System.out.println( Thread.currentThread().getName()                    + " finished executing state procedure" );                    return true;                } else {                    return false;                }            }                        System.out.println( Thread.currentThread().getName() + " InstanceInterpreter couldn't find a transition!" );        }        return true;    }