private static List < String > _evaluateValueExpressions ( FacesContext context , List < String > values ) { // note that we have to create a new List here, because if we // change any value on the given List, it will be changed in the // NavigationCase too and the EL expression won't be evaluated again List < String > target = new ArrayList < String > ( values . size ( ) ) ; for ( String value : values ) { if ( _isExpression ( value ) ) { // evaluate the ValueExpression value = context . getApplication ( ) . evaluateExpressionGet ( context , value , String . class ) ; } target . add ( value ) ; } return target ; }
Checks the Strings in the List for EL expressions and evaluates them . Note that the returned List will be a copy of the given List because otherwise it will have unwanted side - effects .