Signal s = instance.getNextSignal();
Signal s = instance.getNextSignal(context.debugObject);
    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();        while ( i.hasNext() ) {            Transition t = (Transition)i.next();                        /* Skip initialising transition */            if ( t.getFromState() == null )                continue;                        if ( s.getEvent() == t.getEvent()            			&& t.getFromState() == currentState ) {                metamodel.State newState = t.getToState();                int id = instance.instanceInObject.getObjectId().intValue();                String from = instance.currentState.getName();                String to = newState.getName();                instance.currentState = newState;                new LemStateTransitionEvent(id, from, to).notifyAll( context );                Procedure p = newState.getProcedure();               	System.out.println( Thread.currentThread().getName()                	+ " transitioning state to " + newState.getName() );                interpreter.interpret( p, context );                if ( newState instanceof NonDeletionState )                    return true;                else                    return false;            }        }        return true;    }