void (@NotNull UsageViewImpl usageView, @NotNull PingEDT pingEDT, JBPopup popup) { // later to make sure UsageViewImpl.rulesChanged was invoked ApplicationManager.getApplication().invokeLater(() -> ApplicationManager.getApplication().executeOnPooledThread(() -> { if ((popup == null || !popup.isDisposed()) && !usageView.isDisposed()) { usageView.waitForUpdateRequestsCompletion(); if ((popup == null || !popup.isDisposed()) && !usageView.isDisposed()) { pingEDT.ping(); } } })); }