@Override
  public void doCollectInformation(@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);
  }
@Override
  public void doCollectInformation(@NotNull ProgressIndicator progress)