PopupStep (LookupElementAction selectedValue, boolean finalChoice) { UIEventLogger.LookupExecuteElementAction.log(myLookup.getProject()); final LookupElementAction.Result result = selectedValue.performLookupAction(); if (result == LookupElementAction.Result.HIDE_LOOKUP) { myLookup.hideLookup(true); } else if (result == LookupElementAction.Result.REFRESH_ITEM) { myLookup.updateLookupWidth(); myLookup.requestResize(); myLookup.refreshUi(false, true); } else if (result instanceof LookupElementAction.Result.ChooseItem) { myLookup.setCurrentItem(((LookupElementAction.Result.ChooseItem)result).item); CommandProcessor.getInstance().executeCommand(myLookup.getProject(), () -> myLookup.finishLookup(Lookup.AUTO_INSERT_SELECT_CHAR), null, null); } return FINAL_CHOICE; }