@abc.abstractmethod<EOL><INDENT>def can_update_package(self, package_id):<DEDENT>
return<EOL>
Tests if this user can update a specified package.

        A return of true does not guarantee successful authorization. A
        return of false indicates that it is known updating the package
        will result in a ``PermissionDenied``. This is intended as a
        hint to an application that may opt not to offer an update
        operation to an unauthorized user for this function.

        :param package_id: the ``Id`` of the ``Package``
        :type package_id: ``osid.id.Id``
        :return: ``false`` if package modification is not authorized, ``true`` otherwise
        :rtype: ``boolean``
        :raise: ``NullArgument`` -- ``package_id`` is ``null``

        *compliance: mandatory -- This method must be implemented.*
        *implementation notes*: If the ``package_id`` is not found, then
        it is acceptable to return false to indicate the lack of an
        update available.