code: protected static ForkJoinTask<?> pollTask() {
          ForkJoinWorkerThread wt =
              (ForkJoinWorkerThread)Thread.currentThread();
          return wt.pool.nextTaskFor(wt.workQueue);
      }
docs: Unschedules and returns, without executing, the next task
  queued by the current thread but not yet executed, if one is
  available, or if not available, a task that was forked by some
  other thread, if available. Availability may be transient, so a
  {@code null} result does not necessarily imply quiescence
  of the pool this task is operating in.  This method is designed
  primarily to support extensions, and is unlikely to be useful
  otherwise.
  
  <p>This method may be invoked only from within {@code
  ForkJoinPool} computations (as may be determined using method
  {@link #inForkJoinPool}).  Attempts to invoke in other contexts
  result in exceptions or errors, possibly including {@code
  ClassCastException}.
  
  @return a task, or {@code null} if none are available