public MPSFileBasedIndexProjectHandler( final Project project, final ProjectRootManagerEx rootManager, ProjectManager projectManager, FileBasedIndex index, StartupModuleMaker maker) { super(project); myRootManager = rootManager; myProjectManager = projectManager; myIndex = index; final MPSUnindexedFilesUpdater updater = new MPSUnindexedFilesUpdater(myIndex, myRootManager); final StartupManagerEx startupManager = (StartupManagerEx) StartupManager.getInstance(myProject); if (startupManager == null) return; startupManager.registerPreStartupActivity( new Runnable() { public void run() { startupManager.registerCacheUpdater(updater); myIndex.registerIndexableSet(MPSFileBasedIndexProjectHandler.this, myProject); DumbServiceImpl.getInstance(myProject) .queueCacheUpdate(Collections.<CacheUpdater>singletonList(updater)); } }); }