From 2255c3bfcf108f95f00724072c4386bb5b391ac1 Mon Sep 17 00:00:00 2001 From: Dmitry Batkovich Date: Thu, 8 Jun 2017 14:45:32 +0300 Subject: [PATCH] relevant method chain completion: don't add items to unmodifiable collection (EA-102737) --- .../intellij/compiler/chainsSearch/ChainSearcher.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/java/compiler/impl/src/com/intellij/compiler/chainsSearch/ChainSearcher.java b/java/compiler/impl/src/com/intellij/compiler/chainsSearch/ChainSearcher.java index a741b77035eb..d2afd2168294 100644 --- a/java/compiler/impl/src/com/intellij/compiler/chainsSearch/ChainSearcher.java +++ b/java/compiler/impl/src/com/intellij/compiler/chainsSearch/ChainSearcher.java @@ -48,7 +48,7 @@ public class ChainSearcher { if (methods == null) { methods = currentMethods; } else { - methods.addAll(currentMethods); + methods = unionSortedSet(currentMethods, methods); } } return new SearchInitializer(methods, context); @@ -169,4 +169,13 @@ public class ChainSearcher { result.add(newChain); } } + + private static SortedSet unionSortedSet(SortedSet s1, SortedSet s2) { + if (s1.isEmpty()) return s2; + if (s2.isEmpty()) return s1; + TreeSet result = new TreeSet<>(); + result.addAll(s1); + result.addAll(s2); + return result; + } } \ No newline at end of file