title: Combine multiple Monos into a flux
body: <p>I am appending a Flux with a flatMap, but if I add additional flatMaps, only the last one gets returned.</p>
  
  <pre><code>// Here is an example of the Mono function
  
  private Mono&lt;MyType&gt; appendFirstMono(Group group) {
      return Mono.just(group)
      .map(MyType::new)
          .flatMap(g -&gt; functionZ(group)
          .map(g::setField));
  } 
  
  
  //This works as expected
  
  public Flux&lt;MyType&gt; function1() {
  
      return returnData(id)
              .thenMany(service.getData(id))
              .flatMap(this::appendFirstMono);
  }
  
  //This does not and only returns the last mono (3rd)
  
  public Flux&lt;MyType&gt; function1() {
  
      return returnData(id)
              .thenMany(service.getData(id))
              .flatMap(this::appendFirstMono)
              .flatMap(this::appendSecondMono)
              .flatMap(this::appendThirdMono);
  }
  
  //I've attempted to fix with this... Doesn't work as expected.   
  
  public Flux&lt;MyType&gt; function1() {
  
      return returnData(id)
              .thenMany(service.getData(id))
              .flatMap(x -&gt; {
                  return Flux.merge(
                      appendFirstMono(x),
                      appendSecondMono(x),
                      appendThirdMono(x)
                  );
              });
  }
  </code></pre>
  
  <p>I need to process each Mono function on the flux but I can't seem to get each to execute and return properly.</p>