Zastąp metodę w dziedziczonym interfejsie z podtypem z rodzajami

Mam następującą hierarchię w java:

interface ObserverA {}

interface A {
  void method1();
  addObserver(Observer o);
}

I chcę to rozszerzyć w następujący sposób:

interface ObserverB extends ObserverA{}

interface B extends A {
   void method2();
   addObserver(ObserverB  o);
}

w taki sposób, żeaddObserver() metodaB zastąpiłoby tę samą metodę wA. Jak to nie działa, implementacjeB musiałby zaimplementować obie wersjeaddObserver(), Nie chcę mieć tylko jednego.

Czy można to zrobić w sprytny sposób, który nie wymaga parametryzacjiA lubić:

interface A<O extends Observer> { 
    addObserver(O o);
}

Hackowskie rozwiązania są mile widziane!

questionAnswers(3)

yourAnswerToTheQuestion