From 023f19a63d83ed9935efa6a5f39e2e6f17d425b4 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Fri, 21 Nov 2014 13:16:30 +0100 Subject: [PATCH] don't wrap single save session --- .../impl/stores/StateStorageManagerImpl.java | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) 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(); + } } - } - }; + }; + } } }