private void EditField_Click(object sender, System.EventArgs e)
        {
            TreeNode n = TypesView.SelectedNode;
            UPnPComplexType.ContentData cd = (UPnPComplexType.ContentData)n.Tag;

            FieldForm ff = new FieldForm(upnpService.GetComplexTypeList(),cd);
            if(ff.ShowDialog()==DialogResult.OK)
            {
                n.Text = ff.NewContentItem.ToString();
                n.Tag = ff.NewContentItem;
            }
        }
        private void OnAdd_Field(object sender, System.EventArgs e)
        {
            TreeNode n = TypesView.SelectedNode;
            UPnPComplexType.ItemCollection ic = null;

            if(n.Tag.GetType()==typeof(UPnPComplexType))
            {
                if (((UPnPComplexType)n.Tag).Containers.Length == 0) return; // TODO: This sometimes happens and should not
                ic = ((UPnPComplexType)n.Tag).Containers[0].Collections[0];
            }
            else
            {
                ic = (UPnPComplexType.ItemCollection)n.Tag;
            }

            FieldForm ff = new FieldForm(upnpService.GetComplexTypeList(), null);
            if(ff.ShowDialog() == DialogResult.OK)
            {
                ic.AddContentItem(ff.NewContentItem);

                TreeNode nn = new TreeNode();
                nn.Text = ff.NewContentItem.ToString();
                nn.Tag = ff.NewContentItem;
                n.Nodes.Add(nn);
            }
        }