title: Guice Binding for List of generic Objects
body: <p>What is the binding statement I need to tell guice to that I want a OneFoo and a TwoFoo injected into Bar as a List of Foo? The setup here is a chain of responsibility. Right now I have two implementations, but Bar doesn't need to know that.</p>
  
  <pre><code>@Inject
  Bar(List&lt;Foo&gt; foos) {...}
  ...
  class OneFoo implements Foo {
      @Inject
      OneFoo(...) {...}
  ...
  class TwoFoo implements Foo {
      @Inject
      TwoFoo(...) {...}
  </code></pre>
  
  <p>But I'm struggling with using the Types, TypeLiteral, etc to configure the binding where the two Foo implementations will given to Bar.</p>