public void run()

in statemachine/src/main/java/org/apache/statemachine/StateMachine.java [205:219]


            public void run() {
                boolean stateChanged = processEvent(e);
                while (stateChanged) {
                    stateChanged = false;
                    Queue<DeferrableEvent> prevDeferred = deferred;
                    deferred = new ArrayDeque<>();
                    for (DeferrableEvent d : prevDeferred) {
                        if (stateChanged) {
                            deferred.add(d);
                        } else if (processEvent(d)) {
                            stateChanged = true;
                        }
                    }
                }
            }