Debugger dbg = new Debugger();
// iterate over all expression in cache
Iterator<Map.Entry<String,ASTJexlScript>> inodes = jexl.cache.entrySet().iterator();
while (inodes.hasNext()) {
Map.Entry<String,ASTJexlScript> entry = inodes.next();
JexlNode node = entry.getValue();
// recreate expr string from AST
dbg.debug(node);
String expressiondbg = dbg.data();
// recreate expr from string
Expression exprdbg = jdbg.createExpression(expressiondbg);
// make arg cause become the root cause
JexlNode root = ((ExpressionImpl) exprdbg).script;
while (root.jjtGetParent() != null) {
root = root.jjtGetParent();
}
// test equality
String reason = JexlTestCase.checkEquals(root, node);
if (reason != null) {
throw new RuntimeException("debugger equal failed: "