@Test
public void accept() {

  ParenExpr nested =
      new ParenExpr(
          new ParenExpr(
              new ParenExpr(
                  new ParenExpr(
                      new ParenExpr(
                          vie)))));
  assertEquals(5,
      new StandardVisitor() {
        private int numParens;
        @Override
        public void visitParenExpr(ParenExpr parenExpr) {
          super.visitParenExpr(parenExpr);
          numParens++;
        }
        int getNumParens(ParenExpr expr) {
          numParens = 0;
          visit(expr);
          return numParens;
        }
      }.getNumParens(nested)
  );
}