Visitor lets you define a new operation without changing the classes of the elements on which it operates.