title: Reduce stream of Flux to Flux
body: <p>I am having some problems with applying to reduce operation on <code>Stream&lt;Flux&lt;T&gt;&gt;</code>, I would like to reduce it to <code>Flux&lt;T&gt;</code>. Each AdProvider provides offers as Flux, I would like to use the stream to get all offers from each one of them and concatenate them to one pipeline. How could I possibly do that with reduce?</p>
  
  <pre><code>Set&lt;AdProvider&gt; adProviders;
  
  @Override
  @LogBefore
  public void gather()
  {
      adProviders
          .parallelStream()
          .map(this::gatherOffers)
          .reduce(?)
          .subscribe();
  }
  
  private Flux&lt;Ad&gt; gatherOffers(AdProvider adProvider)
  {
      try
      {
          return adProvider.offers();
      }
      catch(Exception e)
      {
          log.warn(EXCEPTION_WHILE_PROCESSING_OFFERS, adProvider.getClass().getSimpleName(), e);
  
          return Flux.empty();
      }
  }
  </code></pre>