public function unsetSessionUser($sessionKey = NULL) {
		
		$sessionKey = $sessionKey ?: SessionUser::DEFAULT_KEY_NAME;
		
		$user = Session::getSessionDataBag()->get($sessionKey);
		
		if($user) {
			
			if(!$user instanceof SessionUser) {
				throw new UserException(sprintf("Session key '%s' doesn't hold a SessionUser instance.", $sessionKey));
			}
			Session::getSessionDataBag()->remove($sessionKey);
			
		}
		
		return $user;
		
	}
public function unsetSessionUser($sessionKey = NULL) {
		
		$sessionKey = $sessionKey ?: SessionUser::DEFAULT_KEY_NAME;
		
		$user = Session::getSessionDataBag()->get($sessionKey);
		
		if($user) {
			
			if(!$user instanceof SessionUser) {
				throw new UserException(sprintf("Session key '%s' doesn't hold a SessionUser instance.", $sessionKey));
			}
			Session::getSessionDataBag()->remove($sessionKey);
			
		}
		
		return $user;
		
	}
public function unsetSessionUser ( $ sessionKey = NULL ) { $ sessionKey = $ sessionKey ? : SessionUser :: DEFAULT_KEY_NAME ; $ user = Session :: getSessionDataBag ( ) -> get ( $ sessionKey ) ; if ( $ user ) { if ( ! $ user instanceof SessionUser ) { throw new UserException ( sprintf ( "Session key '%s' doesn't hold a SessionUser instance." , $ sessionKey ) ) ; } Session :: getSessionDataBag ( ) -> remove ( $ sessionKey ) ; } return $ user ; }
remove session user from session
returns the removed session user

@param string $sessionKey
@throws UserException
@return \vxPHP\User\SessionUser|mixed
remove session user from session returns the removed session user