private void OnCloneComplete()
        {
            if (_shutter != null)
            {
                base.Graphics.Remove(_shutter);
                _shutter.Dispose();
                _shutter = null;
            }

            if (_layers != null)
            {
                base.Graphics.Remove(_layers);
                _layers.Dispose();
                _layers = null;
            }

            _shutter = (ShutterCollection)base.Graphics.FirstOrDefault(IsType <ShutterCollection>);
            _layers  = (LayerCollection)base.Graphics.FirstOrDefault(IsType <LayerCollection>);

            FillOverlayCollections(_shutter);
            foreach (LayerGraphic layer in _layers)
            {
                FillOverlayCollections(layer.Graphics);
            }
        }
            public void ActivateAsLayer(int index, string layerId)
            {
                OverlayPlaneGraphic overlay = _overlays[index];

                if (overlay != null)
                {
                    if (overlay.ParentGraphic is ShutterCollection)
                    {
                        ShutterCollection shutterCollection = (ShutterCollection)overlay.ParentGraphic;
                        shutterCollection.Deactivate(overlay);
                        shutterCollection.Graphics.Remove(overlay);
                    }

                    ILayer layer = _owner.Layers[layerId];
                    if (overlay.ParentGraphic is CompositeGraphic && overlay.ParentGraphic != layer)
                    {
                        ((CompositeGraphic)overlay.ParentGraphic).Graphics.Remove(overlay);
                    }
                    if (overlay.ParentGraphic == null)
                    {
                        layer.Graphics.Add(overlay);
                    }
                    overlay.Visible = true;
                }
            }
        /// <summary>
        /// Constructs a new instance of a <see cref="DicomGraphicsPlane"/>.
        /// </summary>
        public DicomGraphicsPlane()
        {
            _imageOverlays        = new OverlaysCollection(this);
            _presentationOverlays = new OverlaysCollection(this);
            _userOverlays         = new UserOverlaysCollection(this);

            base.Graphics.Add(_shutter = new ShutterCollection());
            base.Graphics.Add(_layers  = new LayerCollection());
        }