private static SyntaxNode ToMultiLine(SyntaxNode node, SyntaxList <TypeParameterConstraintClauseSyntax> constraintClauses) { TypeParameterConstraintClauseSyntax first = constraintClauses.First(); SyntaxToken previousToken = node.FindToken(first.FullSpan.Start - 1); node = node.ReplaceToken(previousToken, previousToken.WithTrailingTrivia(TriviaList(NewLine()))); SyntaxTriviaList leadingTrivia = node .FindToken(node.SpanStart) .LeadingTrivia; SyntaxTriviaList trivia = CSharpFormatter.IncreaseIndentation(leadingTrivia.LastOrDefault()); int count = constraintClauses.Count; for (int i = 0; i < count; i++) { TypeParameterConstraintClauseSyntax newNode = constraintClauses[i].WithLeadingTrivia(trivia); if (i < count - 1) { newNode = newNode.WithTrailingTrivia(NewLine()); } constraintClauses = constraintClauses.ReplaceAt(i, newNode); } return(WithConstraintClauses(node, constraintClauses)); }