protected void AddFolderToFolder(IEnumerable<XElement> list, IPublicComposite folder)
 {
     foreach (var xElement in list)
         {
             var childrenfolder = new Folder()
                        {
                            Id = ((XElement) xElement.PreviousNode).Value,
                            IdFather = folder.Id,
                            Name = xElement.Value,
                            Price = "This folder!"
                        };
             folder.AddComponent(childrenfolder);
             GetChildren(((XElement)xElement).Value, childrenfolder);
         }
 }
 //Добавляе Item с модификаторами к Folder
 private void AddItemToFolder(IEnumerable<XElement> elements, IPublicComposite folder)
 {
     foreach (var xElement in elements)
     {
         if (xElement.Parent == null) continue;
         var item = new Item()
                    {
                        Id = ((XElement) xElement.PreviousNode.PreviousNode).Value,
                        IdFather = xElement.Parent.Descendants("IdItemName").First().Value,
                        Name = xElement.Value,
                        Price = ((XElement) xElement.PreviousNode).Value,
                        ParentComponent = folder
                    };
         var pointer = GetElementAt(xElement, "Modifikators"); //Указатель на Modifikators
         //Читаем модификаторы до упора, выходим по исключению
         try
         {
             while (xElement.Parent.Elements().ElementAt(pointer).Name == "Modifikators")
             {
                 item.Modifiers.Add(
                     xElement.Parent.Elements().ElementAt(pointer).Attributes("МодификаторИД").First().Value,
                     new Modifier(){
                         Name = xElement.Parent.Elements().ElementAt(pointer).Attributes("Модификатор").First().Value,
                         Id = xElement.Parent.Elements().ElementAt(pointer).Attributes("МодификаторИД").First().Value,
                         Select = false,
                         Required = xElement.Parent.Elements().ElementAt(pointer).Attributes("Обязательный").First().Value
                     });
                 pointer++;
             }
         }
         catch
         {
         }
         folder.AddComponent(item);
     }
 }