/**
  * Sets a new user as the current user.
  *
  * @param \Gems_User_User $user
  * @return \Gems_User_UserLoader (continuation pattern)
  */
 public function setCurrentUser(\Gems_User_User $user)
 {
     if ($user !== self::$currentUser) {
         $this->unsetCurrentUser();
         self::$currentUser = $user;
         // Double check in case this function was used as original
         // start for setting the user.
         if (!$user->isCurrentUser()) {
             $user->setAsCurrentUser(true);
         }
     }
     return $this;
 }