protected final <S> CompletableFuture<S> executeWorkerSubTask(
      final EthScheduler scheduler, final Supplier<CompletableFuture<S>> subTask) {
    return executeSubTask(() -> scheduler.scheduleSyncWorkerTask(subTask));
  }
Helper method for sending subTask to worker that will clean up if this EthTask is cancelled.

@param scheduler the scheduler that will run worker task
@param subTask a subTask to execute
@param <S> the type of data returned from the CompletableFuture
@return The completableFuture that was executed
ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/task/AbstractEthTask.java