Not sure I agree with the name RecursiveVisitor. Visitors are often recursive, at least in ASTs.
OTOH, I agree having "TreeVisitor" and "Visitor" is really confusing, especially since Visitor extends TreeVisitor. What does the base class do?