boolean (LookupElement element) { for (String s : CompletionUtil.iterateLookupStrings(element)) { FList<TextRange> ranges = myCaseInsensitiveMatcher.matchingFragments(s); if (ranges == null) continue; if (ranges.isEmpty() || skipUnderscores(s) >= ranges.get(0).getStartOffset()) { return true; } } return false; }