code: public List<E> results() throws Exception {
          List<E> result = new ArrayList<E>(futures.size());
          for (ICompletableFuture<E> f : futures) {
              result.add(f.get());
          }
          return result;
      }
docs: Returns the results.
  <p>
  The results are returned in the order the requests were done.
  <p>
  This call waits till all requests have completed.
  
  @return the List of results.
  @throws Exception is something fails getting the results.