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));
        }