public Object lookup(Pair env, Tree<ASTValueData> expr) {
            Tree<ASTValueData> expr2 = expr.subtrees[1];
            Pair env2 = env;
            Object exprVal = env2.fst;
            while (expr2.subtrees.length > 1) {
                expr2 = expr2.subtrees[1];
                env2 = env2 == null ? null : (Pair) env2.snd;
                exprVal = env2 == null ? null : env2.fst;
            }
            return exprVal == null ? expr : exprVal;
        }