/// <summary>
        /// Called when the manager of scenes changes.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="PlatformGameCreator.Editor.Common.ObservableListChangedEventArgs&lt;Scene&gt;"/> instance containing the event data.</param>
        private void Scenes_ListChanged(object sender, ObservableListChangedEventArgs <Scene> e)
        {
            switch (e.ListChangedType)
            {
            case ObservableListChangedType.ItemAdded:
                ShowItem(e.Item);
                break;

            case ObservableListChangedType.ItemDeleted:
                SceneTreeNode deletedItem = FindItem(e.Item);
                if (deletedItem != null)
                {
                    deletedItem.Remove();
                }
                break;

            case ObservableListChangedType.ItemChanged:
                Debug.Assert(true, "Not supported operation.");
                break;

            case ObservableListChangedType.Reset:
                TreeViewClear();
                foreach (Scene scene in Scenes)
                {
                    ShowItem(scene);
                }
                break;
            }
        }
 public void Remove(T item)
 {
     m_Root.Remove(item);
 }