private static HierachicalDataGridItemWrapper CreateRecursively(IHierarchicalDataGridItem item, int parentLevel)
 {
     var wrapper = new HierachicalDataGridItemWrapper(item) {
         Level = parentLevel + 1
     };
     foreach (var childItem in item.Children) {
         var childWrapper = CreateRecursively(childItem, wrapper.Level);
         wrapper.Children.Add(childWrapper);
     }
     return wrapper;
 }
 public static HierachicalDataGridItemWrapper CreateRecursively(IHierarchicalDataGridItem item)
 {
     return CreateRecursively(item, -1);
 }
 private HierachicalDataGridItemWrapper(IHierarchicalDataGridItem item)
 {
     Value = item;
     Children = new List<HierachicalDataGridItemWrapper>();
 }