void (@NotNull ProgressIndicator progress) { Document document = myEditor.getDocument(); List<HighlightInfo> infos = new ArrayList<>(); List<BooleanSupplier> result = new ArrayList<>(); int exceptCaretOffset = myEditor.getCaretModel().getOffset(); DaemonCodeAnalyzerEx.processHighlights(document, myProject, null, 0, document.getTextLength(), info -> { if (info.isUnresolvedReference() && info.getSeverity() == HighlightSeverity.ERROR && !info.containsOffset(exceptCaretOffset, true)) { infos.add(info); } return true; }); for (HighlightInfo info : infos) { for (ReferenceImporter importer : ReferenceImporter.EP_NAME.getExtensionList()) { if (!importer.isAddUnambiguousImportsOnTheFlyEnabled(myFile)) { continue; } BooleanSupplier action = importer.computeAutoImportAtOffset(myEditor, myFile, info.getActualStartOffset(), false); if (action != null) { result.add(action); } } } autoImportActions.addAll(result); }