skippedStatesMap.put(skippedState, parentState);
for(int t=0; t<state.getNumberOfTransitions(); t++) {
Transition transition = state.transition(t);
if(targetStateIsInAnotherRule(transition)) {
NFAState target = targetStateOfTransition(transition);
FAState ruleRefState = createRuleReferenceState(parentState, transition, skippedStates);
buildRecursiveSkipState(ruleRefState, target, currentPath, new ArrayList<Integer>(skippedStates));
} else
buildRecursiveSkipState(parentState, (NFAState)transition.target, currentPath, new ArrayList<Integer>(skippedStates));
}