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 bool isDir = f.isDirectory(); if (isDir && listeningTo.add(f)) pcall-short { //print("Watching new subdir: " + 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()); }