CFGBuilder (@Nullable PsiExpression functionalExpression) { PsiExpression stripped = PsiUtil.deparenthesizeExpression(functionalExpression); if (stripped == null || stripped instanceof PsiLambdaExpression) { return this; } if (stripped instanceof PsiMethodReferenceExpression methodRef) { PsiExpression qualifier = methodRef.getQualifierExpression(); if (qualifier != null && !PsiMethodReferenceUtil.isStaticallyReferenced(methodRef)) { DfaVariableValue qualifierBinding = createTempVariable(qualifier.getType()); pushForWrite(qualifierBinding) .pushExpression(qualifier) .assign() .pop(); myMethodRefQualifiers.put(methodRef, qualifierBinding); } return this; } if (stripped instanceof PsiMethodCallExpression && PREDICATE_NOT.test((PsiMethodCallExpression)stripped)) { evaluateFunction(((PsiMethodCallExpression)stripped).getArgumentList().getExpressions()[0]); return this; } return pushExpression(functionalExpression, NullabilityProblemKind.passingToNotNullParameter).pop(); }