diff --git a/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionLookupArranger.java b/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionLookupArranger.java index df05f1d95bc8..4cdb55a1af19 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionLookupArranger.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionLookupArranger.java @@ -112,9 +112,8 @@ public class CompletionLookupArranger extends LookupArranger { @Override public Map>> getRelevanceObjects(@NotNull Iterable items, boolean hideSingleValued) { - //noinspection unchecked - final Map>> map = new com.intellij.util.containers.hash.LinkedHashMap(EqualityPolicy.IDENTITY); - final MultiMap inputBySorter = groupItemsBySorter(items); + Map>> map = ContainerUtil.newIdentityHashMap(); + MultiMap inputBySorter = groupItemsBySorter(items); int sorterNumber = 0; for (CompletionSorterImpl sorter : inputBySorter.keySet()) { sorterNumber++; @@ -138,8 +137,12 @@ public class CompletionLookupArranger extends LookupArranger { } } - return map; - + //noinspection unchecked + Map>> result = new com.intellij.util.containers.hash.LinkedHashMap(EqualityPolicy.IDENTITY); + for (LookupElement item : items) { + result.put(item, map.get(item)); + } + return result; } private static boolean haveSameWeights(List> pairs) {