'Creates a new item and return the item identifier of the newly
created item.
parent is the item ID of the parent item, or the empty string
to create a new top-level item. index is an integer, or the value
end, specifying where in the list of parent\'s children to insert
the new item. If index is less than or equal to zero, the new node
is inserted at the beginning, if index is greater than or equal to
the current number of children, it is inserted at the end. If iid
is specified, it is used as the item identifier, iid must not
already exist in the tree. Otherwise, a new unique identifier
is generated.'

def insert(self, parent, index, iid=None, **kw):

    opts = _format_optdict(kw)
    if iid:
        res = self.tk.call(self._w, 'insert', parent, index, '-id', iid, *opts)
    else:
        res = self.tk.call(self._w, 'insert', parent, index, *opts)
    return res
