boolean () { Future<?> lastTask = myLastTask.get(); // a new task may come after the read, but this seems to be an acceptable race if (lastTask != null && !lastTask.isDone()) { return true; } for (PluggableFileWatcher watcher : PluggableFileWatcher.EP_NAME.getIterable()) { if (watcher.isSettingRoots()) return true; } return false; }