Returns ``True`` if the given `node` is a sibling of the given
            `subject` node, ``False`` otherwise. This method uses the
            :attr:`parent` field, and so does not perform any query.

            :param node: the :class:`CTENode' for which to determine whether it
                is a sibling of the `subject`.

            :param subject: the :class:`CTENode` for which to determine whether
                one of its siblings is the `node`.

            :returns: ``True`` if `node` is a sibling of `subject`, ``False``
                otherwise.

def is_sibling_of(self, node, subject):
        """ Returns ``True`` if the given `node` is a sibling of the given
            `subject` node, ``False`` otherwise. This method uses the
            :attr:`parent` field, and so does not perform any query.

            :param node: the :class:`CTENode' for which to determine whether it
                is a sibling of the `subject`.

            :param subject: the :class:`CTENode` for which to determine whether
                one of its siblings is the `node`.

            :returns: ``True`` if `node` is a sibling of `subject`, ``False``
                otherwise.
        """
        # Ensure nodes are not siblings of themselves.
        return not node.id == subject.id and node.parent_id == subject.parent_id