code: def insert(self, parent, index, iid=None, **kw):
          
          if self.tag_has("checked", parent):
              tag = "checked"
          else:
              tag = 'unchecked'
          if "tags" not in kw:
              kw["tags"] = (tag,)
          elif not ("unchecked" in kw["tags"] or "checked" in kw["tags"] or
                    "tristate" in kw["tags"]):
              kw["tags"] += (tag,)
  
          return ttk.Treeview.insert(self, parent, index, iid, **kw)
docs: Creates a new item and return the item identifier of the newly created item.
          
          :param parent: identifier of the parent item
          :type parent: str
          :param index: where in the list of parent's children to insert the new item
          :type index: int or "end"
          :param iid: item identifier, iid must not already exist in the tree. If iid is None a new unique identifier is generated.
          :type iid: None or str
          :param kw: other options to be passed on to the :meth:`ttk.Treeview.insert` method
          
          :return: the item identifier of the newly created item
          :rtype: str
  
          .. note:: Same method as for the standard :class:`ttk.Treeview` but 
                    add the tag for the box state accordingly to the parent 
                    state if no tag among 
                    ('checked', 'unchecked', 'tristate') is given.