BaconographyW8.Converters.SnuDomFullUIVisitor.BuildChildUIList C# (CSharp) Method

BuildChildUIList() private method

private BuildChildUIList ( IEnumerable objects ) : IEnumerable
objects IEnumerable
return IEnumerable
        private IEnumerable<UIElement> BuildChildUIList(IEnumerable<IDomObject> objects)
        {
            List<UIElement> results = new List<UIElement>();
            foreach (var item in objects)
            {
                SnuDomCategoryVisitor categoryVisitor = new SnuDomCategoryVisitor();
                item.Accept(categoryVisitor);
                var column = item as TableColumn;
                if (categoryVisitor.Category == MarkdownCategory.PlainText)
                {
                    var plainTextVisitor = new SnuDomPlainTextVisitor();
                    //this might be a pp
                    if (column != null)
                    {
                        foreach (var contents in column.Contents)
                        {
                            contents.Accept(plainTextVisitor);
                        }
                    }
                    else if (item is SnuDom.Paragraph)
                    {
                        item.Accept(plainTextVisitor);
                    }

                    results.Add(new TextBlock { Text = plainTextVisitor.Result });
                }
                else
                {
                    var fullUIVisitor = new SnuDomFullUIVisitor(_forgroundBrush);
                    item.Accept(fullUIVisitor);
                    results.Add(fullUIVisitor.Result);
                }


                if (column != null)
                {
                    switch (column.Alignment)
                    {
                        case ColumnAlignment.Center:
                            results.Last().SetValue(FrameworkElement.HorizontalAlignmentProperty, HorizontalAlignment.Center);
                            break;
                        case ColumnAlignment.Left:
                            results.Last().SetValue(FrameworkElement.HorizontalAlignmentProperty, HorizontalAlignment.Left);
                            break;
                        case ColumnAlignment.Right:
                            results.Last().SetValue(FrameworkElement.HorizontalAlignmentProperty, HorizontalAlignment.Right);
                            break;
                    }
                }
            }
            return results;
        }