/// <inheritdoc />
        public override void Disable()
        {
            base.Disable();

            if (observer != null)
            {
                observer.ValueChanged -= OnObserverValueChanged;
                observer = null;
            }
        }
        /// <inheritdoc />
        public override void Enable()
        {
            base.Enable();

            var target = Target;

            if (target != null)
            {
                observer = new DirectoryTreeViewSelectedNodesObserver {
                    Target = target
                };
                observer.ValueChanged += OnObserverValueChanged;
            }
        }