code: def fullname(self):
          
          prefix = ""
          if self.parent:
              if self.parent.fullname:
                  prefix = self.parent.fullname + ":"
          else:
              # Only the root does not have a parent. In that case we also don't need a name.
              return ""
  
          return prefix + self.name
docs: includes the full path with parent names