protected abstract TreeIter AppendData(TreeModel store, TreeIter parent, StoreItemStatement item);
 protected override TreeIter AppendData(TreeModel store, TreeIter parent, StoreItemStatement item)
 {
     throw new InvalidOperationException("ListStore nemůže obsahovat vnořené položky");
 }
 private void AppendChilds(TreeModel store, TreeIter iter, StoreItemStatement item)
 {
     if(item.Childs != null && item.Childs.Count != 0)
         foreach(StoreItemStatement child in item.Childs)
             AppendData(store, iter, child);
 }
 protected override TreeIter AppendData(TreeModel store, StoreItemStatement item)
 {
     if(item.Childs != null && item.Childs.Count != 0)
         throw new InvalidOperationException("ListStore nemůže obsahovat vnořené položky");
     return ((ListStore)store).AppendValues(item.Evaluated);
 }
 protected override TreeIter AppendData(TreeModel store, TreeIter parent, StoreItemStatement item)
 {
     TreeIter iter = ((TreeStore)store).AppendValues(parent, item.Evaluated);
     AppendChilds(store, iter, item);
     return iter;
 }