private void processImport(@NotNull HighlightInfoHolder holder,
                             @NotNull PsiJavaFile javaFile,
                             @NotNull PsiImportStatementBase importStatement,
                             @NotNull HighlightDisplayKey unusedImportKey) {
    // jsp include directive hack
    if (importStatement.isForeignFileImport()) return;

    if (PsiUtilCore.hasErrorElementChild(importStatement)) return;

    boolean isRedundant = isRedundantImport(javaFile, importStatement);

    if (isRedundant) {
      registerRedundantImport(holder, importStatement, unusedImportKey);
      return;
    }

    int entryIndex = JavaCodeStyleManager.getInstance(myProject).findEntryIndex(importStatement);
    if (entryIndex < myCurrentEntryIndex && myOptimizeImportsFix == null) {
      // mis-sorted imports found
      myOptimizeImportsFix = QuickFixFactory.getInstance().createOptimizeImportsFix(true, myFile);
    }
    myCurrentEntryIndex = entryIndex;
  }
private void processImport(@NotNull HighlightInfoHolder holder,
                             @NotNull PsiJavaFile javaFile,
                             @NotNull PsiImportStatementBase importStatement,
                             @NotNull HighlightDisplayKey unusedImportKey)