static HighlightInfo.Builder checkVariableExpected(@NotNull PsiExpression expression) {
    PsiExpression lValue;
    if (expression instanceof PsiAssignmentExpression assignment) {
      lValue = assignment.getLExpression();
    }
    else if (PsiUtil.isIncrementDecrementOperation(expression)) {
      lValue = ((PsiUnaryExpression)expression).getOperand();
    }
    else {
      lValue = null;
    }
    if (lValue != null && !TypeConversionUtil.isLValue(lValue) && !PsiTreeUtil.hasErrorElements(expression) &&
        !(IncompleteModelUtil.isIncompleteModel(expression) &&
          PsiUtil.skipParenthesizedExprDown(lValue) instanceof PsiReferenceExpression ref &&
          IncompleteModelUtil.canBePendingReference(ref))) {
      String description = JavaErrorBundle.message("variable.expected");
      return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(lValue).descriptionAndTooltip(description);
    }
    return null;
  }
static HighlightInfo.Builder checkVariableExpected(@NotNull PsiExpression expression)