docs: def toLily(self):
          '''
          Method which converts the object instance, its attributes and children to a string of lilypond code
  
          :return: str of lilypond code
          '''
          lilystring = ""
          if self.item is not None:
              if not isinstance(self.GetChild(0), NoteNode):
                  if hasattr(self.item, "chord") and self.item.chord:
                      self.item.chord = "stop"
              if isinstance(self.GetChild(0), NoteNode):
                  if not hasattr(self.item, "chord") or not self.item.chord:
                      self.item.chord = "start"
              lilystring += self.item.toLily()
          children = self.GetChildrenIndexes()
          written = False
          for child in children:
              if self.GetChild(child) is not None:
                  if isinstance(self.GetChild(child), NoteNode):
                      lilystring += " "
                  return_val = self.GetChild(child).toLily()
                  if isinstance(return_val, str):
                      lilystring += return_val
                  else:
                      lilystring = return_val[0] + lilystring + return_val[1]
                  if isinstance(child, OtherNodes.ExpressionNode):
                      written = True
                      lilystring += self.item.GetClosingNotationLilies()
  
          if len(children) == 0 or not written:
              lilystring += self.item.GetClosingNotationLilies()
          return lilystring