docs: @SafeVarargs
      public static <T> Future<T> firstSuccess(Future<T>... fts) {
          Future<T> future = Future.future();
          Stream.of(fts)
                .forEach(f->f.peek(r->future.complete(r)));
          Future<T> all = allOf(fts).recover(e->{ future.completeExceptionally(e); return null;});
          return future;
  
        }