PsiSubstitutor (@NotNull ParameterTypeInferencePolicy policy, boolean includeReturnConstraint) { if (includeReturnConstraint) { return inferTypeArguments(true); } PsiSubstitutor psiSubstitutor = MethodCandidateInfo.ourOverloadGuard .doPreventingRecursion(reference, false, () -> inferTypeArguments(false)); if (psiSubstitutor == null) { LOG.error("Recursive call for: " + ObjectUtils.notNull(LambdaUtil.treeWalkUp(reference), reference).getText()); return substitutor; } return psiSubstitutor; }