public function setPermissionRecipient($recipient) { if ($recipient instanceof User) { $this->permissionRecipient = $recipient instanceof PermissionUser ? $recipient : PermissionUser::createFromUser($recipient); } elseif ($recipient instanceof Role) { $this->permissionRecipient = $recipient instanceof PermissionRole ? $recipient : PermissionRole::createFromRole($recipient); } else { throw new \Exception('Must provide User or Role object to setPermissionRecipient'); } }