method prepend_data = fun ?parent data -> let iter = self#prepend ?parent () in self#set_data data ~row:iter; iter