@Nullable("When use does not allow unboxing")
    private static Integer afterBoxingRemovalReferenceImpact(@NotNull PsiReferenceExpression expression,
                                                             @NotNull BoxingInfo boxingInfo) {
      PsiElement parent = PsiUtil.skipParenthesizedExprUp(expression).getParent();
      PsiMethodCallExpression call = ExpressionUtils.getCallForQualifier(expression);
      if (call != null) {
        if(!TO_STRING.test(call) && !HASH_CODE.test(call) && !isAllowedInstanceCall(call)) return null;
      }
      if (parent instanceof PsiExpressionList) {
        return expressionListImpactAfterBoxingRemoval((PsiExpressionList)parent, expression);
      }
      else if (parent instanceof PsiAssignmentExpression assignment) {
        final PsiType lExprType = assignment.getLExpression().getType();
        if (lExprType != null && TypeUtils.isJavaLangString(lExprType)) return 0;
        PsiExpression rExpression = assignment.getRExpression();
        if (rExpression == null) return 0;
        if (!boxingInfo.checkExpression(rExpression)) return null;
        return TypeConversionUtil.convertEQtoOperation(assignment.getOperationTokenType()) != null ? -2 : -1;
      }
      else if (parent instanceof PsiSynchronizedStatement) {
        return null;
      }
      else if (parent instanceof PsiPolyadicExpression) {
        return polyadicExpressionImpactAfterBoxingRemoval((PsiPolyadicExpression)parent, expression);
      }
      else if (parent instanceof PsiReturnStatement) {
        PsiMethod method = PsiTreeUtil.getParentOfType(parent, PsiMethod.class, false, PsiLambdaExpression.class);
        if (method != null) {
          PsiType returnType = method.getReturnType();
          if (returnType != null) {
            return returnType instanceof PsiPrimitiveType ? -1 : 1;
          }
        }
      }
      return 0;
    }
@Nullable("When use does not allow unboxing")
    private static Integer afterBoxingRemovalReferenceImpact(@NotNull PsiReferenceExpression expression,
                                                             @NotNull BoxingInfo boxingInfo)