@abc.abstractmethod<EOL><INDENT>def is_descendant(self, id_, descendant_id):<DEDENT>
return<EOL>
Tests if a node is a descendant of another.

        :param id: the ``Id`` to query
        :type id: ``osid.id.Id``
        :param descendant_id: the ``Id`` of a descendant
        :type descendant_id: ``osid.id.Id``
        :return: ``true`` if this ``descendant_id`` is a child of the ``Id,``  ``false`` otherwise
        :rtype: ``boolean``
        :raise: ``NotFound`` -- ``id`` is not found
        :raise: ``NullArgument`` -- ``id`` or ``descendant`` is ``null``
        :raise: ``OperationFailed`` -- unable to complete request
        :raise: ``PermissionDenied`` -- authorization failure

        *compliance: mandatory -- This method must be implemented.*
        *implementation notes*: If not found return ``false``.