anchor.diff:  BDDMockito.then(helloWorldService).should(times(3)).sayHelloWorld();
   // and the exception should be handled by the recovery function
   assertThat(result.get()).isEqualTo("Hello world from recovery function");
  -----
  -
  -As an alternative you can create a custom `RetryContext`. In order to create a custom RetryContext, you can use the RetryContext builder. You can configure the maximum number of retry attempts and the wait interval [ms] between successive attempts. Furthermore, you can add exceptions to the ignore list which must not trigger a retry.
  -
  -[source,java]
  -----
  -Retry retryContext = Retry.custom()
  -    .maxAttempts(2)
  -    .ignoredException(WebServiceException.class)
  -    .build();
   ----
   
   === CompletableFuture example
  
positive.code: 
  === Retry example
  
  You can also retry a failed function and recover the exception, if the maximum retry count was reached.
  
  [source,java]
  ----
  
negative.code: 
  === CircuitBreaker configuration example
  
  This library comes with an `InMemoryCircuitBreakerRegistry` based on a `ConcurrentMap` which provides thread safety and atomicity guarantees. You must use the CircuitBreakerRegistry to manage (create and retrieve) your CircuitBreakers. You can create a `InMemoryCircuitBreakerRegistry` with a default global `CircuitBreakerConfig` for all of your CircuitBreakers as follows.
  
  [source,java]
  ----
  