code: public NotifyingFuture<V> poll(long timeout, TimeUnit unit) throws InterruptedException {
          return completionQueue.poll(timeout, unit);
      }
docs: {@inheritDoc CompletionService}
  <p>
  This future may safely be used as a NotifyingFuture if desired.  This
  is because if it tries to set a listener it will be called immediately
  since the task has already been completed.