private static bool CanBeSet(IPropertySymbol targetProperty, SyntaxNode globbalTargetAccessor, bool isConstructorContext)
        {
            var isPrivateField     = targetProperty.SetMethod?.DeclaredAccessibility != Accessibility.Public;
            var isOutsideThisScope = globbalTargetAccessor?.Kind() != SyntaxKind.ThisExpression;

            if (targetProperty.CanBeSetOnlyFromConstructor() && isConstructorContext == false)
            {
                return(false);
            }

            if (isPrivateField && isOutsideThisScope)
            {
                return(false);
            }

            return(true);
        }