--- jsr166/src/jsr166y/ForkJoinPool.java 2009/07/24 18:57:56 1.19 +++ jsr166/src/jsr166y/ForkJoinPool.java 2009/07/24 22:05:22 1.20 @@ -652,12 +652,15 @@ public class ForkJoinPool extends Abstra } public List> invokeAll(Collection> tasks) { - ArrayList> ts = + ArrayList> forkJoinTasks = new ArrayList>(tasks.size()); - for (Callable c : tasks) - ts.add(new AdaptedCallable(c)); - invoke(new InvokeAll(ts)); - return (List>) (List) ts; + for (Callable task : tasks) + forkJoinTasks.add(new AdaptedCallable(task)); + invoke(new InvokeAll(forkJoinTasks)); + + @SuppressWarnings({"unchecked", "rawtypes"}) + List> futures = (List>) (List) forkJoinTasks; + return futures; } static final class InvokeAll extends RecursiveAction {