code: public final UserManagedCacheBuilder<K, V, T> withEventDispatcher(CacheEventDispatcher<K, V> eventDispatcher) {
      UserManagedCacheBuilder<K, V, T> otherBuilder = new UserManagedCacheBuilder<>(this);
      otherBuilder.orderedExecutor = null;
      otherBuilder.unOrderedExecutor = null;
      otherBuilder.eventDispatcher = eventDispatcher;
      return otherBuilder;
    }
docs: Adds an {@link CacheEventDispatcher} to the returned builder.
  <p>
  This is one way of providing a mandatory part of supporting event listeners in {@link UserManagedCache}
  
  @param eventDispatcher the event dispatcher to use
  @return a new builder with the configured event dispatcher
  
  @see #withEventExecutors(ExecutorService, ExecutorService)
  @see #withEventListeners(CacheEventListenerConfiguration...)
  @see #withEventListeners(CacheEventListenerConfigurationBuilder)