code: public static void visitTree(Simon simon, SimonVisitor visitor) throws IOException {
  		visitor.visit(simon);
  		for (Simon childSimon : simon.getChildren()) {
  			visitTree(childSimon, visitor);
  		}
  	}
docs: Visit Simons recursively as a tree starting from the specified Simon.
  
  @param simon Parent simon
  @param visitor Visitor
  @throws IOException