title: javaslang List.of() on cdi Instance
body: <p>I have multiple class with a Qualifier that I created:</p>
  
  <pre><code>  @ServiceComponent(restPath = "/trucks")
    public class TruckService {
    }
  
    @ServiceComponent(restPath = "/cars")
    public class CarService {
    }
  </code></pre>
  
  <p>here is the Qualifier (not important for the question)</p>
  
  <pre><code>    @Qualifier
      @Retention(RetentionPolicy.RUNTIME)
      @Target({TYPE, FIELD})
      public @interface ServiceComponent {
  
          public boolean exposeAsRest() default true;
  
          @Nonbinding public String restPath() default "";
  
          @Nonbinding public String restGetPrefix() default "get,find,all";
  
          @Nonbinding public String restPostPrefix() default "create,new,post";
      }
  </code></pre>
  
  <p>in another class, I inject those instance using javax.enterprise.inject.Instance&lt;></p>
  
  <pre><code>    class SomeConfigurationClasss {
  
          @Inject
          @ServiceComponent()
          Instance&lt;Object&gt; _restComponents;
  
           @Override
            public void iterate() throws Exception {
  
                //iterate
                for(Object obj : _restComponents){
                    somefuncion(obj);
  
                }
  
                //List.of(_restComponents)
                  //.flatMap(obj -&gt; somefuncion(obj));
  
            }
  
        }
  </code></pre>
  
  <p>if I execute the "normal" iteration (for...) I get the Object (TruckService  or CarService) given as parameter to the somefunction().</p>
  
  <p>but if I use <a href="http://www.javaslang.io/" rel="nofollow noreferrer">javaslang's</a> List.of(...) I get the Instance itself. Which I think it's the expected behavior</p>
  
  <p>Is there a possibility to use List.of on a Instance that can contain one or multiple bean (depending on the injection binding). (I already try to call iterator(), select() on the Instance)</p>