public CSharpSyntaxNode Convert(PropertySignature node)
        {
            PropertyDeclarationSyntax csProperty = SyntaxFactory.PropertyDeclaration(node.Type.ToCsNode <TypeSyntax>(), node.Name.Text);

            if (node.Parent != null && node.Parent.Kind == NodeKind.InterfaceDeclaration)
            {
                csProperty = csProperty.AddAccessorListAccessors(SyntaxFactory
                                                                 .AccessorDeclaration(SyntaxKind.GetAccessorDeclaration)
                                                                 .WithSemicolonToken(SyntaxFactory.Token(SyntaxKind.SemicolonToken)));

                if (!node.HasModify(NodeKind.ReadonlyKeyword))
                {
                    csProperty = csProperty.AddAccessorListAccessors(SyntaxFactory
                                                                     .AccessorDeclaration(SyntaxKind.SetAccessorDeclaration)
                                                                     .WithSemicolonToken(SyntaxFactory.Token(SyntaxKind.SemicolonToken)));
                }
            }
            if (node.JsDoc.Count > 0)
            {
                csProperty = csProperty.WithLeadingTrivia(SyntaxFactory.Trivia(node.JsDoc[0].ToCsNode <DocumentationCommentTriviaSyntax>()));
            }

            return(csProperty);
        }