public Transition[][] getSortedTransitions() {int numStates = getNumStates();Transition[][] transitions = new Transition[numStates][];for(int s=0;s<numStates;s++) {int numTransitions = getNumTransitions(s);transitions[s] = new Transition[numTransitions];for(int t=0;t<numTransitions;t++) {Transition transition = new Transition();getTransition(s, t, transition);transitions[s][t] = transition;}}return transitions;}

public Transition [ ] [ ] getSortedTransitions ( ) { int numStates = getNumStates ( ) ; Transition [ ] [ ] transitions = new Transition [ numStates ] [ ] ; for ( int s = 0 ; s < numStates ; s ++ ) { int numTransitions = getNumTransitions ( s ) ; transitions [ s ] = new Transition [ numTransitions ] ; for ( int t = 0 ; t < numTransitions ; t ++ ) { Transition transition = new Transition ( ) ; getTransition ( s , t , transition ) ; transitions [ s ] [ t ] = transition ; } } return transitions ; }
public virtual Transition[][] GetSortedTransitions(){State[] states = GetNumberedStates();Transition[][] transitions = new Transition[states.Length][];foreach (State s in states){s.SortTransitions(Transition.COMPARE_BY_MIN_MAX_THEN_DEST);s.TrimTransitionsArray();transitions[s.number] = s.TransitionsArray;Debug.Assert(s.TransitionsArray != null);}return transitions;}
