In March 2001 I started to deliver a Java programming course in the Israeli Air Force Industry. It was a long course that took place during two months in the Israeli Air Force Industry training facilities. Recently I was very happy to receive the training reviews for that course. You can find it on line.
The Visitor Design Pattern
The visitor design pattern allows us to add operations to objects that already exist without modifying their classes and without extending them.