Refactoring: Extracted RecursiveExpressionVisitor