void (@NotNull FinishType finishType, @Nullable LookupElement currentItem, char completionChar) { final List<EventPair<?>> data = getCommonUsageInfo(finishType, currentItem, completionChar); final List<EventPair<?>> additionalData = new ArrayList<>(); LookupUsageDescriptor.EP_NAME.forEachExtensionSafe(usageDescriptor -> { if (PluginInfoDetectorKt.getPluginInfo(usageDescriptor.getClass()).isSafeToReport()) { additionalData.addAll(usageDescriptor.getAdditionalUsageData( new MyLookupResultDescriptor(myLookup, currentItem, finishType, myLanguage))); } }); if (!additionalData.isEmpty()) { data.add(ADDITIONAL.with(new ObjectEventData(additionalData))); } FINISHED.log(myLookup.getProject(), data); }