List<PsiLiteralExpression> (@NotNull String stringToFind, boolean ignorePropertyKeys, @NotNull PsiFile file) { ProgressManager.checkCanceled(); CharSequence text = file.getViewProvider().getContents(); StringSearcher searcher = new StringSearcher(stringToFind, true, true); List<PsiLiteralExpression> foundExpr = new SmartList<>(); LowLevelSearchUtil.processTexts(text, 0, text.length(), searcher, offset -> { PsiElement element = file.findElementAt(offset); if (element == null || !(element.getParent() instanceof PsiLiteralExpression expression)) return true; if (Comparing.equal(stringToFind, expression.getValue()) && shouldCheck(expression, ignorePropertyKeys)) { foundExpr.add(expression); } return true; }); return foundExpr; }