void (PsiReferenceExpression ref, Collection<? extends ExpectedTypeInfo> expectedTypes, Consumer<? super LookupElement> consumer) { PsiClass collectors = JavaPsiFacade.getInstance(ref.getProject()).findClass(JAVA_UTIL_STREAM_COLLECTORS, ref.getResolveScope()); if (collectors == null) return; PsiExpression qualifier = ref.getQualifierExpression(); if (qualifier == null) { if (ref.getParent() instanceof PsiExpressionList && ref.getParent().getParent() instanceof PsiMethodCallExpression) { PsiReferenceExpression methodExpression = ((PsiMethodCallExpression)ref.getParent().getParent()).getMethodExpression(); qualifier = methodExpression.getQualifierExpression(); if ("collect".equals(methodExpression.getReferenceName()) && qualifier != null) { suggestCollectorsArgument(expectedTypes, consumer, collectors, qualifier); } } return; } convertQualifierViaCollectors(ref, expectedTypes, consumer, qualifier, collectors); }