private static ExpressionFactory tryExpressionFactoryImplementation(String packagePrefix) { String className = packagePrefix + ".el.ExpressionFactoryImpl"; try { Class cl = ClassUtil.forName(className); if (ExpressionFactory.class.isAssignableFrom(cl)) { logger.info( "Using " + className + " as implementation of " + ExpressionFactory.class.getName()); return (ExpressionFactory) cl.newInstance(); } logger.warn( "Class " + className + " does not implement " + ExpressionFactory.class.getName()); } catch (ClassNotFoundException e) { } catch (Exception e) { logger.error("Failed to instantiate " + className, e); } return null; }