title: In a Java 7+ ForkJoinPool, is it possible to cancel a task and all subtasks?
body: <p>My program searches for a solution (any solution) to a problem through a divide-and-conquer approach, implemented using recursion and <code>RecursiveTasks</code>'s: I fork a task for the first branch of the division, then recurse into the second branch: if the second branch has found a solution, then I cancel the first branch, otherwise I wait for its result.</p>
  
  <p>This is perhaps not optimal. One approach would be for any of the launched tasks to throw an exception if a solution is found. But then, how would I cancel all the launched tasks? Does cancelling a task also cancel all sub-tasks?</p>