Interface ItemVisitor

This interface defines two signatures of the visit method; one
taking a Node, the other a Property. When an object
implementing this interface is passed to Item.accept(ItemVisitor
visitor) the appropriate visit method is automatically
called, depending on whether the Item in question is a
Node or a Property. Different implementations of
this interface can be written for different purposes. It is, for example,
possible for the visit(Node node) method to call
accept on the children of the passed node and thus recurse
through the tree performing some operation on each Item.