void () { boolean settingsAreOK = Registry.is("autocheck.availability.welcome.screen.projects") && !PowerSaveMode.isEnabled(); boolean everythingIsOK = settingsAreOK && ApplicationManager.getApplication().isActive(); synchronized (this) { if (myService == null && everythingIsOK) { myService = AppExecutorUtil.createBoundedScheduledExecutorService("CheckRecentProjectPaths Service", 2); for (String path : myPaths) { scheduleCheck(path, 0); } ApplicationManager.getApplication().invokeLater(myCallback); } if (myService != null && !everythingIsOK) { if (!settingsAreOK) { myInvalidPaths.clear(); } shutdown(false); ApplicationManager.getApplication().invokeLater(myCallback); } } }