Couple<Integer> (@NotNull PsiMethod method, @NotNull ChainCompletionContext context) { int unreachableParametersCount = 0; int matchedParametersInContext = 0; for (PsiParameter parameter : method.getParameterList().getParameters()) { PsiType type = parameter.getType(); if (!ChainCompletionContext.isWidelyUsed(type)) { Collection<PsiElement> contextVariables = context.getQualifiers(type).collect(Collectors.toList()); PsiElement contextVariable = ContainerUtil.getFirstItem(contextVariables, null); if (contextVariable != null) { matchedParametersInContext++; continue; } if (!NullableNotNullManager.isNullable(parameter)) { unreachableParametersCount++; } } } return Couple.of(unreachableParametersCount, matchedParametersInContext); }