public static <T> TimeLimiterOperator<T> of(TimeLimiter timeLimiter) {
        return new TimeLimiterOperator<>(timeLimiter);
    }
@Test
    public void doNotTimeoutUsingMono() {
        given(timeLimiter.getTimeLimiterConfig())
            .willReturn(toConfig(Duration.ofMinutes(1)));
        given(helloWorldService.returnHelloWorld())
            .willReturn("Hello world");

        Mono<?> mono = Mono.fromCallable(helloWorldService::returnHelloWorld)
            .transformDeferred(TimeLimiterOperator.of(timeLimiter));

        StepVerifier.create(mono)
            .expectNextCount(1)
            .verifyComplete();
        then(timeLimiter).should(times(1))
            .onSuccess();
    }