+    def IsDescendant(self, firstItem, secondItem):
+        "Recursive check if firstItem is a descendant of a secondItem."
+        if firstItem == self._root:
+            return False
+        parentItem = self.GetItemParent(firstItem)
+        if parentItem == secondItem:
+            return True
+        else:
+            return self.IsDescendant(parentItem, secondItem)