internal static PropertyDeclarationSyntax ReplaceAbstractWithVirtual(PropertyDeclarationSyntax propertyDeclaration)
        {
            SyntaxTokenList modifiers = propertyDeclaration.Modifiers;

            int index = modifiers.IndexOf(SyntaxKind.AbstractKeyword);

            if (index != -1)
            {
                propertyDeclaration = propertyDeclaration.WithModifiers(modifiers.ReplaceAt(index, CSharpFactory.VirtualKeyword().WithTriviaFrom(modifiers[index])));
            }

            return(propertyDeclaration);
        }