title: Combining results of two CompletableFuture with different return types
body: <p>I have 2 different CompletableFuture that I like to run in parallel (each has a different return type) and then to combine their results:</p>
  
  <pre><code> CompletableFuture&lt;Person&gt; person = personDB.asyncCall(..);
   CompletableFuture&lt;Dog&gt; dog = dogDB.asyncCall(...);
  </code></pre>
  
  <p>Now I like to combine the dog.name &amp; the person name:</p>
  
  <pre><code>return dog.getName() + person.getName()
  </code></pre>
  
  <p>I was trying to use</p>
  
  <pre><code>  CompletableFuture&lt;Void&gt; combinedFuture = CompletableFuture.allOf(perons, dog);
    combinedFuture.thenApply(aVoid -&gt; {
               // now what?
          });
  </code></pre>
  
  <p>But got suck here.</p>