title: Force a class to implement one of two interfaces that implements another interface
body: <p>I am not really sure about Java Annotations, but I think they can solve my problem.</p>
  
  <p>I have an java interface "Target". This is an empty interface, so I can give that implementation into an "TargetHolder", which is simply a list of Targets.</p>
  
  <p>Now I only have 2 Types of Targets. Type "Alpha" and type "Beta".</p>
  
  <p>Type "Alpha" has no functionality in common with Type "Beta".</p>
  
  <p>Easiest way would be to just extend "Beta" and "Alpha" from "Target". But with this solution  it is possible for a programmer to create a class that extends "Target" only, which must not be possible.</p>
  
  <ol>
  <li>Can I solve that with annotations?</li>
  <li>How?</li>
  </ol>