parameters: (self, item)
return_statement: return lastChild
docstring: Returns the last child of the last child ... of item. If item
          has no children, item itself is returned. So the returned item
          is always valid, assuming a valid item has been passed.
  
          :param TreeItemId `item`: a :class:`TreeItemId`
          :return: :class:`TreeItemId` of the last item or an invalid item
          :rtype: :class:`TreeItemId`
docstring_summary: Returns the last child of the last child ... of item. If item
          has no children, item itself is returned. So the returned item
          is always valid, assuming a valid item has been passed.
docstring_tokens: Returns the last child of the last child ... of item . If item has no children item itself is returned . So the returned item is always valid assuming a valid item has been passed .
function: def GetLastChildRecursively(self, item):
          """
          Returns the last child of the last child ... of item. If item
          has no children, item itself is returned. So the returned item
          is always valid, assuming a valid item has been passed.
  
          :param TreeItemId `item`: a :class:`TreeItemId`
          :return: :class:`TreeItemId` of the last item or an invalid item
          :rtype: :class:`TreeItemId`
          
          """
          lastChild = item
          while self.ItemHasChildren(lastChild):
              lastChild = self.GetLastChild(lastChild)
          return lastChild
function_tokens: def GetLastChildRecursively ( self , item ) : lastChild = item while self . ItemHasChildren ( lastChild ) : lastChild = self . GetLastChild ( lastChild ) return lastChild