code: @SafeVarargs
      public static <T> PromisesArray<T> ofPromises(Promise<T>... items) {
          ArrayList<Promise<T>> res = new ArrayList<>();
          Collections.addAll(res, items);
          final Promise[] promises = res.toArray(new Promise[res.size()]);
          return new PromisesArray<>((PromiseFunc<Promise<T>[]>) executor -> {
              executor.result(promises);
          });
      }
docs: Create PromisesArray from multiple Promise
  
  @param items promises
  @param <T>   type of array
  @return array