private boolean validateAFNEExpression(String expression) throws Exception {
        errorMessage = "";
        List<String> currentStates = new ArrayList<String>();
        currentStates.add(content.getInitial());
        currentStates = clousereFunctionByStateValues(currentStates);
        
        for(int i=0; i<expression.length();i++){
            String currentSymbol = "" + expression.charAt(i);
            List<Transition> trans = new ArrayList<Transition>();
            for(String current : currentStates){
                 List<Transition> tempTransitions = content.getTransitionsByStateAndSymbol(current, currentSymbol);
                 if(tempTransitions != null && !tempTransitions.isEmpty())
                     trans.addAll(tempTransitions);                 
            }
            if(trans.isEmpty()){
                errorMessage = "There isn't any transition for States: " + currentStates + " and Symbol: [" + currentSymbol + "].";
                return false;
            }
            List<String> newsCurrent = new ArrayList<String>();
            for(Transition tran : trans)
                newsCurrent.add(tran.getResult());
            currentStates = clousereFunctionByStateValues(newsCurrent);
        }
        
        if(content.fingFinalByValues(currentStates) != null)
            return true;
        else{
            errorMessage = "The ending States:"+ currentStates + " for the expression: [" + expression + "] aren't final States.";
            return false;
        }
    }