diff --git a/platform/lang-impl/src/com/intellij/openapi/roots/impl/PushedFilePropertiesUpdaterImpl.java b/platform/lang-impl/src/com/intellij/openapi/roots/impl/PushedFilePropertiesUpdaterImpl.java index 6538464d1503..0903f093620e 100644 --- a/platform/lang-impl/src/com/intellij/openapi/roots/impl/PushedFilePropertiesUpdaterImpl.java +++ b/platform/lang-impl/src/com/intellij/openapi/roots/impl/PushedFilePropertiesUpdaterImpl.java @@ -382,7 +382,14 @@ public final class PushedFilePropertiesUpdaterImpl extends PushedFilePropertiesU public static void invokeConcurrentlyIfPossible(@NotNull List tasks) { if (tasks.isEmpty()) return; - if (tasks.size() == 1 || ApplicationManager.getApplication().isWriteAccessAllowed() || DumbServiceImpl.isSynchronousTaskExecution()) { + boolean synchronous = (tasks.size() == 1); + if (DumbServiceImpl.isSynchronousTaskExecution()) { + synchronous = true; + } + else { + LOG.assertTrue(!ApplicationManager.getApplication().isWriteAccessAllowed(), "Write access is not allowed"); + } + if (synchronous) { for (Runnable r : tasks) r.run(); return; }