diff --git a/platform/util/src/com/intellij/util/MergeQuery.java b/platform/util/src/com/intellij/util/MergeQuery.java index ffeeed377d57..1f221aa3e10d 100644 --- a/platform/util/src/com/intellij/util/MergeQuery.java +++ b/platform/util/src/com/intellij/util/MergeQuery.java @@ -38,15 +38,14 @@ public class MergeQuery implements Query{ @NotNull public Collection findAll() { List results = new ArrayList(); - results.addAll(myQuery1.findAll()); - results.addAll(myQuery2.findAll()); + forEach(new CommonProcessors.CollectProcessor(results)); return results; } public T findFirst() { - final T r1 = myQuery1.findFirst(); - if (r1 != null) return r1; - return myQuery2.findFirst(); + final CommonProcessors.FindFirstProcessor processor = new CommonProcessors.FindFirstProcessor(); + forEach(processor); + return processor.getFoundValue(); } public boolean forEach(@NotNull final Processor consumer) {