public InheritanceMargin(
            IThreadingContext threadingContext,
            IStreamingFindUsagesPresenter streamingFindUsagesPresenter,
            ClassificationTypeMap classificationTypeMap,
            IClassificationFormatMap classificationFormatMap,
            IUIThreadOperationExecutor operationExecutor,
            InheritanceMarginTag tag,
            IWpfTextView textView,
            IAsynchronousOperationListener listener)
        {
            _threadingContext             = threadingContext;
            _streamingFindUsagesPresenter = streamingFindUsagesPresenter;
            _workspace         = tag.Workspace;
            _operationExecutor = operationExecutor;
            _textView          = textView;
            _listener          = listener;
            InitializeComponent();

            var viewModel = InheritanceMarginViewModel.Create(classificationTypeMap, classificationFormatMap, tag, textView.ZoomLevel);

            DataContext             = viewModel;
            ContextMenu.DataContext = viewModel;
            ToolTip = new ToolTip {
                Content = viewModel.ToolTipTextBlock, Style = (Style)FindResource("ToolTipStyle")
            };
        }
        public InheritanceMargin(
            IThreadingContext threadingContext,
            IStreamingFindUsagesPresenter streamingFindUsagesPresenter,
            ClassificationTypeMap classificationTypeMap,
            IClassificationFormatMap classificationFormatMap,
            IUIThreadOperationExecutor operationExecutor,
            InheritanceMarginTag tag,
            IWpfTextView textView)
        {
            _threadingContext             = threadingContext;
            _streamingFindUsagesPresenter = streamingFindUsagesPresenter;
            _workspace         = tag.Workspace;
            _operationExecutor = operationExecutor;
            _textView          = textView;
            InitializeComponent();

            // ZoomLevel of textView is percentage based. (e.g. 20 -> 400 means 20% -> 400%)
            // and the scaleFactor of CrispImage is 1 based. (e.g 1 means 100%)
            var scaleFactor = textView.ZoomLevel;
            var viewModel   = InheritanceMarginViewModel.Create(classificationTypeMap, classificationFormatMap, tag, scaleFactor);

            DataContext             = viewModel;
            ContextMenu.DataContext = viewModel;
            ToolTip = new ToolTip {
                Content = viewModel.ToolTipTextBlock, Style = (Style)FindResource("ToolTipStyle")
            };
        }