code: public <T> CompletableFuture<T> submit(final Supplier<T> supplier) {
  		requireNonNull(supplier, "A non-null supplier expected");
  		CompletableFuture<T> future = null;
  		if (isRunning.get()) {
  			future = supplyAsync(supplier, executor);
  		} else {
  			future = new CompletableFuture<>();
  			future.completeExceptionally(new IllegalStateException("This task runner is not active"));
  		}
  		return future;		
  	}
docs: Submits a new task for execution to the pool of threads managed by this class.
  @param <T> - specific type of supplier
  @param supplier - a function returning the value to be used to complete the returned {@link CompletableFuture}
  @return a {@link CompletableFuture} that the caller can use to track the execution of the task and to register a callback function.