@abc.abstractmethod<EOL><INDENT>def reassign_id_to_catalog(self, id_, from_catalog_id, to_catalog_id):<DEDENT>
pass<EOL>
Moves an ``Id`` from one ``Catalog`` to another.

        Mappings to other ``Catalogs`` are unaffected.

        :param id: the ``Id``
        :type id: ``osid.id.Id``
        :param from_catalog_id: the ``Id`` of the current ``Catalog``
        :type from_catalog_id: ``osid.id.Id``
        :param to_catalog_id: the ``Id`` of the destination ``Catalog``
        :type to_catalog_id: ``osid.id.Id``
        :raise: ``NotFound`` -- ``id, from_catalog_id,`` or ``to_catalog_id`` not found or ``id`` not mapped to ``from_catalog_id``
        :raise: ``NullArgument`` -- ``id, from_catalog_id,`` or ``to_catalog_id`` is ``null``
        :raise: ``OperationFailed`` -- unable to complete request
        :raise: ``PermissionDenied`` -- authorization failure

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