/**
  * Waits for and returns the results of the child tasks.
  *
  * @return A list of results returned from the child tasks
  */
 public final List<T> getChildrenResults() {
   if (children == null) return Collections.emptyList();
   final List<T> results = new ArrayList<T>(children.size());
   for (final AbstractForkJoinWorker<T> worker : children) {
     results.add(worker.join());
   }
   return results;
 }