method append_data = fun c ?parent ?color () ->
    let iter = self#append ?parent () in
      self#set_data c ~row:iter ?color ();
      iter