code: private static ExpressionFactory findExpressionFactory(String[] expressionFactoryClassNames)
      {
          for (String expressionFactoryClassName : expressionFactoryClassNames)
          {
              ExpressionFactory expressionFactory = loadExpressionFactory(expressionFactoryClassName);
              if (expressionFactory != null)
              {
                  return expressionFactory;
              }
          }
  
          return null;
      }
docs: Attempts to find a valid ExpressionFactory implementation. Each of the given
  "ExpressionFactory implementation candidates" will be tried to instantiate. If an attempt succeeded, the
  ExpressionFactory implementation will be returned (i.e. the first valid ExpressionFactory implementation will be
  returned) and if no attempt succeeds, <code>null</code> will be returned.
  
  @param expressionFactoryClassNames
  "ExpresionFactory implementation candidates"
  
  @return the newly created ExpressionFactory implementation, or <code>null</code>, if there is no valid
  implementation