The Gang of Four defines the Visitor as: Represent an operation to be performed on elements of an object structure.
The nature of the Visitor makes it an ideal pattern to plug into public APIs thus allowing its clients to perform operations on a class using a "visiting" class without having to modify the source [REF].