title: awaitQuiescence does not return after timeout
body: <p>I'm trying to use the awaitQuiescence method from ForkJoinPool to wait until all submitted tasks are finished, or return false if the tasks are not yet completed after the timeout. 
  <p>Practically all of submitted tasks can add additional tasks to the pool, so I can't use the awaitTermination method, because that would block those additional tasks from being submitted.
  However, the awaitQuiescence does not return anything, even when the specified time is over.
  <p>I tried to crystallize the issue in the code below. The CountDownLatch.await will never be triggered, but why does the awaitQuiescence method not return false?</p>
  
  <pre><code>public static void main(String[] args) {
      final ForkJoinPool test = new ForkJoinPool(1,
              ForkJoinPool.defaultForkJoinWorkerThreadFactory, null,true);
      final CountDownLatch latch = new CountDownLatch(1);
  
      test.execute(() -&gt; { 
              try {
                  System.out.println("Sleeping");
                  Future&lt;Double&gt; f = test.submit(() -&gt; { 
                          latch.await(); 
                          return 0d; 
                      });
                  System.out.println(f.get());
                  System.out.println("Waking up");
      } catch (InterruptedException | ExecutionException e) {
                  e.printStackTrace();
              });
  
      System.out.println(test.awaitQuiescence(1, TimeUnit.SECONDS));
  } 
  </code></pre>
  
  <p>Thanks very much!</p>