code: def getDescendant(Ancestor, RouteParts):
    r
    if not RouteParts:
      return Ancestor
  
    Resolved = Ancestor.Members.get(RouteParts.pop(0))
  
    if isinstance(Resolved, Group):
      return getDescendant(Resolved, RouteParts)
  
    else:
      return Resolved
docs: r"""Resolves a descendant, of the given Ancestor, as pointed by the RouteParts.