code: public static <T> CompletableFuture<T> schedule(final String cron, final ScheduledExecutorService ex, final Supplier<T> t) {
          return Future.schedule(cron, ex, t)
                        .getFuture();
      }
docs: Schedule the population of a CompletableFuture from the provided Supplier, the provided Cron (Quartz format) expression will be used to
  trigger the population of the CompletableFuture. The provided ScheduledExecutorService provided the thread on which the
  Supplier will be executed.
  
  <pre>
  {@code
  
  CompletableFuture<String> future = CompletableFutures.schedule("* * * * * ?", Executors.newScheduledThreadPool(1), ()->"hello");
  
  //CompletableFuture["hello"]
  
  }</pre>
  
  
  @param cron Cron expression in Quartz format
  @param ex ScheduledExecutorService used to execute the provided Supplier
  @param t The Supplier to execute to populate the CompletableFuture
  @return CompletableFuture populated on a Cron based Schedule