add VisitorPattern.java