public function setCurrentUser(APIUserReference $user)
{
$id = $user->getUserId();
if (!$id) {
throw new InvalidArgumentValue('$user->getUserId()', $id);
}
if ($user instanceof User) {
$this->currentUser = $user;
$this->currentUserRef = new UserReference($id);
} else {
$this->currentUser = null;
$this->currentUserRef = $user;
}
return $this->getPermissionResolver()->setCurrentUserReference($this->currentUserRef);
}