public function stop()
    {
        try {
            $impersonated = $this->auth()->user();
            $impersonater = $this->findUserById($this->getImpersonatorId());

            $this->auth()->silentLogout();
            $this->auth()->silentLogin($impersonater);
            $this->clear();

            $this->events()->dispatch(
                new Events\ImpersonationStopped($impersonater, $impersonated)
            );

            return true;
        }
        catch (\Exception $e) {
            return false;
        }
    }