title: Get all futures that finish within a set period of time?
body: <p>I have a list of callables and I want to start them all in parallel, give them 5 seconds to complete, and use the results from any of the tasks that finish within that time.</p>
  
  <p>I tried using executorService.invokeAll with a timeout, but in this case they all need to finish before my timeout.</p>
  
  <p>What is the best way to do this using Java 7?</p>