für jeden Teilnehmer des Kompositums eine Methode:
interface Visitor<K,R> { // mit Resultattyp R R leaf (K x); R branch (R left, R right); }
interface Tree<K> { <R> R visit (Visitor<K,R> v) }