@abc.abstractmethod<EOL><INDENT>def set_provider(self, provider_id):<DEDENT>
pass<EOL>
Sets a provider.

        :param provider_id: the new provider
        :type provider_id: ``osid.id.Id``
        :raise: ``InvalidArgument`` -- ``provider_id`` is invalid
        :raise: ``NoAccess`` -- ``Metadata.isReadOnly()`` is ``true``
        :raise: ``NullArgument`` -- ``provider_id`` is ``null``

        *compliance: mandatory -- This method must be implemented.*