private States evaluateState(States states, Reader expressionReader) throws GeneralException, ExceptionWithPosition{
        TransitionMatrix trMatrix = getTransitionMatrix();
        States[] listState = trMatrix.getTransition(states);
        States currentState;
        Recognizer recognizers = getRecognizer();
        for (int i = 0; i < listState.length; i++) {
            currentState = listState[i];
            if (null != recognizers.accept(currentState, expressionReader)) {
                return currentState;
            }
        }
        return null;
    }