Not a huge deal, but since we have a visitor, couldn't you have a JoinTableNodeVisitor that only visits those and get rid of this cast?