void (@NotNull Project project, @NotNull TooManyUsagesStatus tooManyUsagesStatus, @NotNull ProgressIndicator indicator, @Nullable UsageViewEx usageView, @NotNull Supplier<@NlsContexts.DialogMessage String> messageSupplier, @Nullable Consumer<? super UsageLimitUtil.Result> onUserClicked) { UIUtil.invokeLaterIfNeeded(() -> { if (usageView != null && usageView.searchHasBeenCancelled() || indicator.isCanceled()) { return; } UsageLimitUtil.Result ret = UsageLimitUtil.showTooManyUsagesWarning(project, messageSupplier.get()); if (ret == UsageLimitUtil.Result.ABORT) { if (usageView != null) { usageView.cancelCurrentSearch(); } indicator.cancel(); } tooManyUsagesStatus.userResponded(); if (onUserClicked != null) { onUserClicked.accept(ret); } }); }