@Override
  protected boolean fieldInitializerMightBeChanged(@NotNull PsiField field) {
    //skip if dumb mode, allow only `getAugments`
    if (DumbService.isDumb(field.getProject())) return false;

    if (PsiAnnotationSearchUtil.isAnnotatedWith(field, LombokClassNames.BUILDER_DEFAULT)) {
      return true;
    }

    final PsiAnnotation getterAnnotation = PsiAnnotationSearchUtil.findAnnotation(field, LombokClassNames.GETTER);
    final boolean isLazyGetter = null != getterAnnotation &&
                                 PsiAnnotationUtil.getBooleanAnnotationValue(getterAnnotation, "lazy", false);

    if (isLazyGetter) {
      final PsiExpression fieldInitializer = field.getInitializer();
      if (fieldInitializer instanceof PsiMethodCallExpression methodCallExpression) {
        final PsiExpression qualifierExpression = methodCallExpression.getMethodExpression().getQualifierExpression();
        if (qualifierExpression instanceof PsiReferenceExpression qualifierReferenceExpression) {
          final PsiElement referencedElement = qualifierReferenceExpression.resolve();
          if (referencedElement instanceof PsiField referencedField) {
            final PsiClass containingClass = referencedField.getContainingClass();
            if (containingClass != null) {
              return InitializationUtils.isInitializedInConstructors(referencedField, containingClass);
            }
          }
        }
      }
    }
    return isLazyGetter;
  }
@Override
  protected boolean fieldInitializerMightBeChanged(@NotNull PsiField field)