docs: def _combined_properties(self):
          """Returns a dictionary with this object's properties merged with all its parent's
          properties.
  
          The returned dictionary is all the available properties for this object (and their
          associated values).
          """
          result = dict(self._properties)
          par = self._parent
          while par:
              result.update(par._properties)
              par = par._parent
          return result