protected void OnTrackedObjectsListChanged(object sender, ListChangedEventArgs e)
        {
            switch (e.ListChangedType)
            {
            case ListChangedType.ItemAdded:
                AdminInfoObject obj = dataSource.TrackedObjects[e.NewIndex];

                // create view usercontrol
                AdminInfoObjectView view = new AdminInfoObjectView();
                view.Dock         = DockStyle.Fill;
                view.DataSource   = dataSource.TrackedObjects[e.NewIndex];
                view.Close       += OnAdminInfoObjectViewClose;
                view.CommandSend += OnAdminInfoObjectCommandSend;

                // create tabpage and add view
                TabPage tabPage = new TabPage();
                tabPage.Text = "(" + obj.ID.ToString() + ") " + obj.ClassName;
                tabPage.Controls.Add(view);

                // add tabpage an set active
                tabObjects.TabPages.Add(tabPage);
                tabObjects.SelectedTab = tabPage;
                break;

            case ListChangedType.ItemDeleted:
                break;

            case ListChangedType.Reset:
                tabObjects.TabPages.Clear();
                break;
            }
        }
        protected void OnTrackedObjectsListChanged(object sender, ListChangedEventArgs e)
        {
            switch (e.ListChangedType)
            {
                case ListChangedType.ItemAdded:
                    AdminInfoObject obj = dataSource.TrackedObjects[e.NewIndex];
                    
                    // create view usercontrol
                    AdminInfoObjectView view = new AdminInfoObjectView();
                    view.Dock = DockStyle.Fill;
                    view.DataSource = dataSource.TrackedObjects[e.NewIndex];
                    view.Close += OnAdminInfoObjectViewClose;
                    view.CommandSend += OnAdminInfoObjectCommandSend;

                    // create tabpage and add view
                    TabPage tabPage = new TabPage();
                    tabPage.Text = "(" + obj.ID.ToString() + ") " + obj.ClassName;
                    tabPage.Controls.Add(view);
                    
                    // add tabpage an set active
                    tabObjects.TabPages.Add(tabPage);
                    tabObjects.SelectedTab = tabPage;
                    break;

                case ListChangedType.ItemDeleted:
                    break;

                case ListChangedType.Reset:
                    tabObjects.TabPages.Clear();
                    break;
            }
        }