anchor.diff:      .compose(CircuitBreakerOperator.of(circuitBreaker))
   ----
   
  -NOTE: Resilience4j also provides RxJava operators for `RateLimiter`, `Bulkhead`, `TimeLimiter` and `Retry`. Find out more in our *https://resilience4j.readme.io/docs/getting-started-2[User Guide]*.
  +NOTE: Resilience4j also provides RxJava operators for `RateLimiter`, `Bulkhead`, `TimeLimiter` and `Retry`.
  +Find out more in our *https://resilience4j.readme.io/docs/getting-started-2[User Guide]*.
   
   ==== CircuitBreaker and Spring Reactor
   
  
positive.code: There are two isolation strategies and bulkhead implementations.
  
  ==== SemaphoreBulkhead
  The following example shows how to decorate a lambda expression with a Bulkhead. A Bulkhead can be used to limit the amount of parallel executions. This bulkhead abstraction should work well across a variety of threading and io models. It is based on a semaphore, and unlike Hystrix, does not provide "shadow" thread pool option.
  
  [source,java]
  ----
  
negative.code: [[events]]
  == Consume emitted events
  
  `CircuitBreaker`, `RateLimiter`, `Cache`, `Bulkhead`, `TimeLimiter` and `Retry` components emit a stream of events.
  It can be consumed for logging, assertions and any other purpose.
  
  === Examples
  
  A `CircuitBreakerEvent` can be a state transition, a circuit breaker reset, a successful call, a recorded error or an ignored error.
  All events contains additional information like event creation time and processing duration of the call.
  If you want to consume events, you have to register an event consumer.
  
  [source,java]
  ----
  