void (Object[] variants, final InsertHandler<LookupElement> insertHandler) { for (int i=0; i < variants.length; i+=1) { Object item = variants[i]; if (hasChildPackages(item)) continue; if (item instanceof LookupElementBuilder) { variants[i] = ((LookupElementBuilder)item).withInsertHandler(insertHandler); } else if (item instanceof PsiNamedElement element) { final String name = element.getName(); assert name != null; // it can't really have null name variants[i] = LookupElementBuilder .create(name) .withIcon(element.getIcon(0)) .withInsertHandler(insertHandler); } } }