protected override void Initialize(bool initData)
        {
            base.Initialize(initData);

            if (initData)
            {
                _scaleController = new DensityScaleController(newScale => _doc.Scale = (NumericalScale)newScale)
                {
                    UseDocumentCopy = UseDocument.Directly
                };
                _scaleController.InitializeDocument(_doc.Scale);

                _colorProviderController = new ColorProviderController(newColorProvider => _doc.ColorProvider = newColorProvider)
                {
                    UseDocumentCopy = UseDocument.Directly
                };
                _colorProviderController.InitializeDocument(_doc.ColorProvider);
            }

            if (null != _view)
            {
                _scaleController.ViewObject         = _view.ScaleView;
                _colorProviderController.ViewObject = _view.ColorProviderView;
                InitializeDataColumnText();
            }
        }
        public override IEnumerable <ControllerAndSetNullMethod> GetSubControllers()
        {
            yield return(new ControllerAndSetNullMethod(_scaleController, () => _scaleController = null));

            yield return(new ControllerAndSetNullMethod(_colorProviderController, () => _colorProviderController = null));
        }