@override Future<R> submit<Q, R>(Job<Q, R> job) { if (disposed || job.isCancelled) { return Future.error(CancellationException()); } return Future.value(job.computeFunction(job.value)); }