docs: def UpdateArpeggiates(self, type="start"):
          '''
          method which searches for all arpeggiates and updates the top one of each chord to be a start,
          and the bottom one to be a stop ready for lilypond output
          :param type:
          :return:
          '''
          result = self.item.Search(Arpeggiate)
          if result is not None:
              if type == "start":
                  result.type = type
              child = self.GetChild(0)
              if child is not None:
                  if child.item.Search(Arpeggiate) is None:
                      new_obj = copy.deepcopy(result)
                      new_obj.type = "none"
                      child.GetItem().addNotation(new_obj)
                  if child is not None and hasattr(child, "UpdateArpeggiates"):
                      child.UpdateArpeggiates(type="stop")
              else:
                  result.type = type
          else:
              result = self.item.Search(NonArpeggiate)
              if result is not None:
                  if type == "start":
                      result.type = type
                  child = self.GetChild(0)
                  if child is not None:
                      search = child.item.Search(NonArpeggiate)
                      if search is None:
                          cpy = copy.deepcopy(result)
                          cpy.type = "none"
                          child.item.addNotation(cpy)
                      if hasattr(child, "UpdateArpeggiates"):
                          child.UpdateArpeggiates(type="bottom")
                  else:
                      result.type = type