docs: public static <T, R1, R> CompletableFuture<R> forEach2(CompletableFuture<? extends T> value1, Function<? super T, CompletableFuture<R1>> value2,
                                                            BiFunction<? super T, ? super R1, ? extends R> yieldingFunction) {
  
          return value1.thenCompose(in -> {
  
              CompletableFuture<R1> a = value2.apply(in);
              return a.thenApply(ina -> yieldingFunction.apply(in, ina));
  
  
              });
  
  
      }