please include function jdk_watchService_start. svoid jdk_watchService_registerRecursivePath(File path, final VF1 listener) ctex { final Set listeningTo = synchroSet(); VF1 listener2 = voidfunc(File f) { // TODO: remove listeners on deleted directory if (listeningTo.add(f)) jdk_watchService_registerPath(f, this, jdk_watchService_allEventKinds()); callF(listener, f); }; jdk_watchService_registerPath(path, listener2, jdk_watchService_allEventKinds()); for (File subDir : findAllDirs(path)) jdk_watchService_registerPath(subDir, listener2, jdk_watchService_allEventKinds()); }