Call do_add_watcher recursively