code: public static <T extends Request> ThrottlingStrategy<T> of(
              BiFunction<ServiceRequestContext, T, CompletionStage<Boolean>> function,
              String strategyName) {
          return new ThrottlingStrategy<T>(strategyName) {
              @Override
              public CompletionStage<Boolean> accept(ServiceRequestContext ctx, T request) {
                  return function.apply(ctx, request);
              }
          };
      }
docs: Creates a new {@link ThrottlingStrategy} that determines whether a request should be accepted or not
  using a given {@link BiFunction} instance.