Symptom: switch wird verwendet
class C {
    int tag; int FOO = 0;
    void foo () {
        switch (this.tag) {
            case FOO: { .. }
            case 3:   { .. }
}   }   }
Ursache: Objekte der Klasse sind nicht ähnlich genug
Abhilfe: Kompositum-Muster
interface C { void foo (); }
class Foo implements C { void foo () { .. } }
class Bar implements C { void foo () { .. } }