docs: public Future<V> submit(Callable<V> task) {
          if (task == null) throw new NullPointerException();
          NotifyingFuture<V> f = executor.submit(task);
          f.setListener(listener);
          return f;
      }