/**
  * {@inheritDoc}
  */
 public function process(ContainerBuilder $container)
 {
     if (!$this->integrationExtension->isNotifierEnabled() || !$this->integrationExtension->isNotifierReplaceSfEventDispatcher()) {
         return;
     }
     $dispatcherServiceId = 'event_dispatcher';
     while ($container->hasAlias($dispatcherServiceId)) {
         $dispatcherServiceId = $container->getAlias($dispatcherServiceId);
     }
     $dispatcherDefinition = $container->getDefinition($dispatcherServiceId);
     $dispatcherDefinition->setPublic(false);
     $container->removeDefinition($dispatcherServiceId);
     $container->setDefinition('event_dispatcher.symfony', $dispatcherDefinition);
     $notifierDispatcherDefinition = $container->getDefinition('event_dispatcher.notifier_proxy');
     $notifierDispatcherDefinition->replaceArgument(0, new Reference('event_dispatcher.symfony'));
     $notifierDispatcherDefinition->replaceArgument(2, $this->integrationExtension->getNotifierEventNamesForDisableNotification());
     $notifierDispatcherDefinition->setAbstract(false);
     $container->setAlias('event_dispatcher', 'event_dispatcher.notifier_proxy');
 }