title: Implementing multiple generic interfaces
body: <p>I need to handle events of two different types but I'm running into the following issue:</p>
  
  <p>The interface EventListener cannot be implemented more than once with different arguments: <code>EventListener&lt;PriceUpdate&gt;</code> and <code>EventListener&lt;OrderEvent&gt;</code>.</p>
  
  <p>Is there an elegant solution for this?</p>
  
  <pre><code>public interface EventListener &lt;E&gt; {
      public void handle(E event);
  }
  public interface PriceUpdateEventListener extends EventListener&lt;PriceUpdate&gt; {
  }
  public interface OrderEventListener extends EventListener&lt;OrderEvent&gt; {
  }
  
  public class CompositeListener implements OrderEventListener,PriceUpdateEventListener {
  ....
  }
  </code></pre>