title: Specifying different subclass implementations in CDI
body: <p>I have two classes, A and B, which need to use a service.  There are two services, S1 and S2.  S2 extends S1.  I wish to inject S1 into class A and S2 into class B.  How can I accomplish this in CDI?</p>
  
  <pre><code>public class S1 {}
  public class S2 extends S1 {}
  
  public class A {
      @Inject S1 service;  //Ambigious?  Could be S1 or S2?
  }
  
  public class B {
      @Inject S2 service;
  }
  </code></pre>