void (@NotNull LookupEvent event) { LookupElement item = event.getItem(); char completionChar = event.getCompletionChar(); if (item == null) { triggerLookupUsed(FinishType.CANCELED_BY_TYPING, null, completionChar); } else { myTimestampCorrectElementShown = item.getUserData(LOOKUP_ELEMENT_SHOW_TIMESTAMP_MILLIS); myTimestampCorrectElementComputed = item.getUserData(LOOKUP_ELEMENT_RESULT_ADD_TIMESTAMP_MILLIS); myOrderComputedCorrectElement = item.getUserData(LOOKUP_ELEMENT_RESULT_SET_ORDER); if (isSelectedByTyping(myLookup, item)) { triggerLookupUsed(FinishType.TYPED, item, completionChar); } else { triggerLookupUsed(FinishType.EXPLICIT, item, completionChar); } } }