void CollectElseBlocks(CSS.IfStatementSyntax node, List <ElseIfBlockSyntax> elseIfBlocks, ref ElseBlockSyntax elseBlock) { if (node.Else == null) { return; } if (node.Else.Statement is CSS.IfStatementSyntax) { var elseIf = (CSS.IfStatementSyntax)node.Else.Statement; elseIfBlocks.Add( SyntaxFactory.ElseIfBlock( SyntaxFactory.ElseIfStatement((ExpressionSyntax)elseIf.Condition.Accept(_nodesVisitor)).WithThenKeyword(SyntaxFactory.Token(SyntaxKind.ThenKeyword)), ConvertBlock(elseIf.Statement) ) ); CollectElseBlocks(elseIf, elseIfBlocks, ref elseBlock); } else { elseBlock = SyntaxFactory.ElseBlock(ConvertBlock(node.Else.Statement)); } }