void (Consumer<? super LookupElement> resultSet, PsiElement context, ExpectedTypeInfo info, List<? extends PsiType> expectedArgs, PsiTypeParameterListOwner paramOwner) { List<PsiTypeLookupItem> typeItems = ContainerUtil.map(expectedArgs, arg -> PsiTypeLookupItem.createLookupItem(arg, context)); TailType globalTail = mySmart ? info.getTailType() : TailTypes.noneType(); TypeArgsLookupElement element = new TypeArgsLookupElement(typeItems, globalTail, hasParameters(paramOwner, context)); element.registerSingleClass(mySession); resultSet.consume(element); }