title: Generate one Stream from multiple Suppliers
body: <p>I'm trying to use Java 8 Lambda/Stream API for modeling a simple producer/consumer system, just like:</p>
  
  <pre><code>    Stream&lt;Sample&gt; samplesFlow = Stream.generate(new SampleSupplier());
      samplesFlow.forEach(new SampleConsumer());
  </code></pre>
  
  <p>I realized that "scale" to several consumers was pretty simple:</p>
  
  <pre><code>    samplesFlow
          .peek(new SampleConsumer1())
          .peek(new SampleConsumer2())
          .forEach(new SampleConsumer3());
  </code></pre>
  
  <p>But what about adding new producers to the system? Is there some idiomatic or "elegant" way to <strong>generate a Stream from several infinite Suppliers??</strong> Like:</p>
  
  <pre><code>Stream.generate(new SampleSupplier1(),new SampleSupplier2());  // made it up
  </code></pre>
  
  <p>Each supplier simulate a network listener getting data from a remote source.</p>
  
  <p>Thanks in advance!</p>