void (final boolean isOk) { if (checkDisposed()){ return; } myModel.saveInitialCheckBoxState(myCheckBox.isSelected()); if (isOk) { final List<Object> chosenElements = getChosenElements(); if (myActionListener instanceof MultiElementsCallback) { ((MultiElementsCallback)myActionListener).elementsChosen(chosenElements); } else { for (Object element : chosenElements) { myActionListener.elementChosen(element); String text = myModel.getFullName(element); if (text != null) { StatisticsManager.getInstance().incUseCount(new StatisticsInfo(statisticsContext(), text)); } } } if (!chosenElements.isEmpty()) { final String enteredText = getTrimmedText(); if (enteredText.indexOf('*') >= 0) { FeatureUsageTracker.getInstance().triggerFeatureUsed("navigation.popup.wildcards"); } else { for (Object element : chosenElements) { final String name = myModel.getElementName(element); if (name != null) { if (!StringUtil.startsWithIgnoreCase(name, enteredText)) { FeatureUsageTracker.getInstance().triggerFeatureUsed("navigation.popup.camelprefix"); break; } } } } } } Disposer.dispose(this); setDisposed(true); myAlarm.cancelAllRequests(); cleanupUI(isOk); if (ApplicationManager.getApplication().isUnitTestMode()) return; if (myActionListener != null) { myActionListener.onClose(); } }