public ModelExtenderDiagramPlugin(
            [NotNull] IRoslynBasedModelService roslynBasedModelService,
            [NotNull] IDiagramService diagramService,
            [NotNull] IHostUiService hostUiServices)
            : base(diagramService)
        {
            _hostUiServices          = hostUiServices;
            _roslynBasedModelService = roslynBasedModelService;

            DiagramService.DiagramChanged += OnDiagramChanged;
        }
        public DiagramToolApplication(
            [NotNull] IVisualizationService visualizationService,
            [NotNull] IRoslynWorkspaceProvider roslynWorkspaceProvider,
            [NotNull] IRoslynBasedModelService roslynBasedModelService,
            [NotNull] IHostUiService hostUiService)
        {
            var diagramId = visualizationService.CreateDiagram();

            DiagramService = visualizationService.GetDiagramService(diagramId);

            DiagramWindowService = (IDiagramWindowService)visualizationService.GetDiagramUiService(diagramId);
            DiagramWindowService.ImageExportDpi           = Dpi.Dpi150;
            DiagramWindowService.DiagramNodeInvoked      += OnShowSourceRequested;
            DiagramWindowService.ShowModelItemsRequested += OnShowItemsRequested;

            RoslynWorkspaceProvider = roslynWorkspaceProvider;
            RoslynBasedModelService = roslynBasedModelService;
            HostUiService           = hostUiService;
        }