private static int initObservables()

in src/main/java/org/apache/commons/scxml2/io/ModelUpdater.java [194:218]


    private static int initObservables(final List<EnterableState>states, int nextObservableId) {
        for (final EnterableState es : states) {
            es.setObservableId(nextObservableId++);
            if (es instanceof TransitionalState) {
                final TransitionalState ts = (TransitionalState)es;
                if (ts instanceof State) {
                    final State s = (State)ts;
                    if (s.getInitial() != null && s.getInitial().getTransition() != null) {
                        s.getInitial().getTransition().setObservableId(nextObservableId++);
                    }
                }
                for (final Transition t : ts.getTransitionsList()) {
                    t.setObservableId(nextObservableId++);
                }
                for (final History h : ts.getHistory()) {
                    h.setObservableId(nextObservableId++);
                    if (h.getTransition() != null) {
                        h.getTransition().setObservableId(nextObservableId++);
                    }
                }
                nextObservableId = initObservables(ts.getChildren(), nextObservableId);
            }
        }
        return nextObservableId;
    }