/// <summary>
        /// Collapse the InsertionGroup into the scene
        /// </summary>
        public void Collapse()
        {
            // Drag operation has finished, we need to perform the collapse
            var loadedItems = this.Children;

            if (loadedItems.Count == 1)
            {
                var first = loadedItems.First();
                if (first.GetType() == typeof(Object3D) &&
                    first.Mesh == null &&
                    first.Children.Count == 1)
                {
                    // collapse our first child into this
                    this.Children.Modify(list =>
                    {
                        first.CollapseInto(list, false);
                    });
                }
            }

            // Collapse our contents into the root of the scene
            // of the scene when it loses focus
            scene.Children.Modify(list =>
            {
                this.CollapseInto(list, false);
            });

            // Create and push the undo operation
            foreach (var item in loadedItems)
            {
                view3DWidget.AddUndoOperation(new InsertCommand(scene, item));
            }

            if (scene.SelectedItem == this &&
                loadedItems.Count > 0)
            {
                scene.ClearSelection();

                foreach (var item in loadedItems)
                {
                    scene.AddToSelection(item);
                }
            }
        }