diff --git a/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/StateStorageManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/StateStorageManagerImpl.java index cfb8c99fd085..ae0aac1cee64 100644 --- a/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/StateStorageManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/StateStorageManagerImpl.java @@ -389,15 +389,23 @@ public abstract class StateStorageManagerImpl implements StateStorageManager, Di } } - final List list = saveSessions; - return saveSessions == null ? null : new SaveSession() { - @Override - public void save() { - for (SaveSession saveSession : list) { - saveSession.save(); + if (saveSessions == null) { + return null; + } + else if (saveSessions.size() == 1) { + return saveSessions.get(0); + } + else { + final List list = saveSessions; + return new SaveSession() { + @Override + public void save() { + for (SaveSession saveSession : list) { + saveSession.save(); + } } - } - }; + }; + } } }