protected override void Dispose(bool disposeManagedResources)
        {
            if (!_disposed)
            {
                if (disposeManagedResources)
                {
                    controls.Clear();
                    controls.ControlAdded   -= new BehaviorControlCollection.ControlEvent(controls_ControlAdded);
                    controls.ControlRemoved -= new BehaviorControlCollection.ControlEvent(controls_ControlRemoved);

                    Debug.Assert(EditorContext != null);
                    EditorContext.PreHandleEvent -= new HtmlEditDesignerEventHandler(HandlePreHandleEvent);
                    EditorContext.KeyDown        -= new HtmlEventHandler(editorContext_KeyDown);
                }

                _disposed = true;
            }

            base.Dispose(disposeManagedResources);
        }