method childs_rebuild () = 
    let msg = mkenv (self#env#get_l @ [(self#key,self#selected)]) in  (* x = self#selected *)
    List.iter (fun w -> w#rebuild msg) self#childs