code: def name(self):
          
          basename = self.basename
          if basename is None:
              return None
          
          parent = self.Naming_parent
          if parent is None:
              return basename
          else:    
              return parent.generate_unique_name(basename)
docs: The unique name of this object, relative to the parent.