diff --git a/platform/platform-impl/src/com/intellij/ide/RecentProjectsManagerBase.java b/platform/platform-impl/src/com/intellij/ide/RecentProjectsManagerBase.java index 81b56e5e56ec..82cb06508618 100644 --- a/platform/platform-impl/src/com/intellij/ide/RecentProjectsManagerBase.java +++ b/platform/platform-impl/src/com/intellij/ide/RecentProjectsManagerBase.java @@ -355,10 +355,11 @@ public abstract class RecentProjectsManagerBase extends RecentProjectsManager im if (!isDuplicatesCacheUpdating) { isDuplicatesCacheUpdating = true; //assuming that this check happens only on EDT. So, no synchronised block or double-checked locking needed + Set names = ContainerUtil.newHashSet(); + final HashSet duplicates = ContainerUtil.newHashSet(); + ArrayList list = ContainerUtil.newArrayList(ContainerUtil.concat(openedPaths, recentPaths)); ApplicationManager.getApplication().executeOnPooledThread(() -> { - Set names = ContainerUtil.newHashSet(); - final HashSet duplicates = ContainerUtil.newHashSet(); - for (String path : ContainerUtil.newArrayList(ContainerUtil.concat(openedPaths, recentPaths))) { + for (String path : list) { if (!names.add(getProjectName(path))) { duplicates.add(path); }