/**
  * Handle logout process
  *
  * @param GetResponseEvent $event
  */
 public function onKernelRequest(GetResponseEvent $event)
 {
     if ($this->logout->matches($event->getRequest())) {
         $this->authentication->clearIdentity();
         if ($this->target) {
             // Target can be null for user defined controller behaviour
             $event->setResponse(new RedirectResponse((string) $this->target));
         }
     }
 }
 /**
  * Check if request need to be processed
  *
  * @param  Request $request
  * @return bool
  */
 protected function isRequestNeedProcessing(Request $request)
 {
     if (!$this->pattern->matches($request)) {
         return false;
     }
     foreach ($this->whitelist as $whitelist) {
         if ($whitelist->matches($request)) {
             return false;
         }
     }
     return true;
 }