}
Node n = (cache != null) ? cache.get(expr) : unlimitedCache.get(expr);
if (n == null) {
try {
n = (new ELParser(new StringReader(expr)))
.CompositeExpression();
// validate composite expression
if (n instanceof AstCompositeExpression) {
int numChildren = n.jjtGetNumChildren();