private void onAppStateChanged() {
      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);
        }
      }
    }
private void onAppStateChanged()