void (@NotNull Runnable action) { ExcludeEntryDescription[] descriptions; synchronized (myLock) { myCompilationPhase = false; action.run(); myVFSChangedModules.addAll(myChangedModulesDuringCompilation); myChangedModulesDuringCompilation.clear(); descriptions = myExcludedDescriptions.toArray(new ExcludeEntryDescription[0]); myExcludedDescriptions.clear(); } myCompilationAffectedModules.clear(); myExcludedFilesScope = ExcludedFromCompileFilesUtil.getExcludedFilesScope(descriptions, myFileTypes, myProject); }