docs: public void asyncDispatch(Event event) {
  		assert event != null;
  		this.executor.execute(() -> {
  			Iterable<BehaviorGuardEvaluator> behaviorGuardEvaluators = null;
  			synchronized (AgentInternalEventsDispatcher.this.behaviorGuardEvaluatorRegistry) {
  				behaviorGuardEvaluators = AgentInternalEventsDispatcher.this.behaviorGuardEvaluatorRegistry
  						.getBehaviorGuardEvaluators(event);
  			}
  			if (behaviorGuardEvaluators != null) {
  				final Collection<Runnable> behaviorsMethodsToExecute;
  				try {
  					behaviorsMethodsToExecute = evaluateGuards(event, behaviorGuardEvaluators);
  				} catch (InvocationTargetException e) {
  					throw new RuntimeException(e);
  				}
  				executeAsynchronouslyBehaviorMethods(behaviorsMethodsToExecute);
  			}
  		});
  	}