@Override
  public PopupStep<?> onChosen(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;
  }
@Override
  public PopupStep<?> onChosen(LookupElementAction selectedValue, boolean finalChoice)