/**
  * Gets the RedirectResponse by switch param.
  *
  * @return \Symfony\Component\HttpFoundation\RedirectResponse
  */
 protected function getRedirectResponseBySwitchParam()
 {
     if ($this->mustRedirect($this->deviceView->getViewType())) {
         // Avoid unnecessary redirects: if we need to redirect to another view,
         // do it in one response while setting the cookie.
         $redirectUrl = $this->getRedirectUrl($this->deviceView->getViewType());
     } else {
         if (true === $this->isFullPath) {
             /* @var $request Request */
             $request = $this->container->get('request');
             $redirectUrl = $request->getUriForPath($request->getPathInfo());
             $queryParams = $request->query->all();
             if (array_key_exists('device_view', $queryParams)) {
                 unset($queryParams['device_view']);
             }
             if (sizeof($queryParams) > 0) {
                 $redirectUrl .= '?' . Request::normalizeQueryString(http_build_query($queryParams));
             }
         } else {
             $redirectUrl = $this->getCurrentHost();
         }
     }
     return $this->deviceView->getRedirectResponseBySwitchParam($redirectUrl);
 }