code: public static <T> Future<T> schedule(final String cron, final ScheduledExecutorService ex, final Supplier<T> t) {
  
          final CompletableFuture<T> future = new CompletableFuture<>();
          final Future<T> wrapped = Future.of(future);
          ReactiveSeq.generate(() -> {
              try {
                  future.complete(t.get());
              } catch (final Throwable t1) {
                  future.completeExceptionally(t1);
              }
              return 1;
  
          })
                     .limit(1)
                     .schedule(cron, ex);
  
          return wrapped;
      }
docs: Schedule the population of a Future from the provided Supplier, the provided Cron (Quartz format) expression will be used to
  trigger the population of the Future. The provided ScheduledExecutorService provided the thread on which the
  Supplier will be executed.
  
  <pre>
  {@code
  
  Future<String> future = Future.schedule("* * * * * ?", Executors.newScheduledThreadPool(1), ()->"hello");
  
  //Future["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 Future
  @return Future populated on a Cron based Schedule