private SyntaxNode AddModifiers(SyntaxNode node, SyntaxToken syntaxToken) { // Get the first child node. SyntaxNode firstNode = node.ChildNodes().FirstOrDefault(); if (firstNode != null) { // The leading trivia will be the method comments, if any. SyntaxTriviaList leadingTrivia = firstNode.GetLeadingTrivia(); // Replace it with one without leading trivia. node = node.ReplaceNodes( new[] { firstNode }, (a, b) => firstNode.WithLeadingTrivia()); // Add the leading trivia to the new modifier. syntaxToken = syntaxToken.WithLeadingTrivia(leadingTrivia); } return node.AddModifiers(syntaxToken); }