private static AccessorDeclarationSyntax GetDefaultGetter(BaseFieldDeclarationSyntax backingField)
        {
            var body = SyntaxFactory.Block(
                SyntaxFactory.List(new[]
            {
                SyntaxFactory.ReturnStatement(
                    SyntaxFactory.IdentifierName(backingField.Declaration.Variables.First().Identifier)
                    .WithLeadingTrivia(SyntaxTriviaList.Create(SyntaxFactory.Space)))
            })
                );
            var getter = SyntaxFactory.AccessorDeclaration(SyntaxKind.GetAccessorDeclaration, LockBuilder.BuildLockBlock(body));

            return(getter);
        }
        private static AccessorDeclarationSyntax GetDefaultSetter(BaseFieldDeclarationSyntax backingField)
        {
            var ident      = SyntaxFactory.IdentifierName(backingField.Declaration.Variables.First().Identifier.ToString());
            var assignment = SyntaxFactory.AssignmentExpression(SyntaxKind.SimpleAssignmentExpression, ident,
                                                                SyntaxFactory.IdentifierName("value"));
            var expressionStatement = SyntaxFactory.ExpressionStatement(assignment);
            var block  = SyntaxFactory.Block(expressionStatement);
            var setter = SyntaxFactory.AccessorDeclaration(SyntaxKind.SetAccessorDeclaration, LockBuilder.BuildLockBlock(block));

            return(setter);
        }