code: @Override
      public List<FUTURE_TYPE> get() throws InterruptedException, ExecutionException {
          final List<FUTURE_TYPE> resultList = new ArrayList<>();
          for (Future<FUTURE_TYPE> future : futureList) {
              resultList.add(future.get());
          }
          return resultList;
      }
docs: Blocks until all subfuture results are available.
  
  @return a list of future results.
  
  @throws InterruptedException is thrown if the thread was externally interrupted.
  @throws ExecutionException   in thrown if the execution of at least one subfuture is not available.