Implementando múltiples interfaces genéricas

Necesito manejar eventos de dos tipos diferentes, pero me encuentro con el siguiente problema:

La interfaz EventListener no se puede implementar más de una vez con diferentes argumentos:EventListener<PriceUpdate> yEventListener<OrderEvent>.

¿Hay una solución elegante para esto?

public interface EventListener <E> {
    public void handle(E event);
}
public interface PriceUpdateEventListener extends EventListener<PriceUpdate> {
}
public interface OrderEventListener extends EventListener<OrderEvent> {
}

public class CompositeListener implements OrderEventListener,PriceUpdateEventListener {
....
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta