title: CompletableFuture with void methods
body: <p>I'm looking to run two methods <code>a()</code> and <code>b()</code> that take in no arguments and return nothing (i.e. void methods) asynchronously such that they are returned in any order concurrently.</p>
  
  <p>However, a third method <code>c()</code> should only run after either of the other above methods complete.</p>
  
  <p>I believe I am supposed to create two CompletableFuture objects (cf1 for <code>a()</code> and cf2 <code>b()</code>) and then use <code>CompletableFuture.anyOf(cf1, cf2).join()</code> to block the code for <code>c()</code>.</p>
  
  <p>However, I am not sure how to create the cf1 and cf2 CompletableFuture objects. I understand the methods <code>a()</code> and <code>b()</code> are essentially like Runnable's <code>run</code> method but I do not want to change the way they are implemented. Which of CompletableFuture's methods should I call in order to create this CompletableFuture objects for the two methods?</p>
  
  <p>Thank you very much in advance for your help!</p>