You can make use of the visitor pattern. The user that created some subclass then only needs to fill the visitor method with some stuff and that's it. The visitor was already initialized when created which happened before it was handed in to the visitor method of the subclass as a method parameter and things are fine. -- Bienlein