isDescendantOf
refactored gathering of descendants
isAncestorOf