MainWindowControl(IToolWindowServiceProvider toolWindowServiceProvider, [ImportMany] Lazy <IToolWindowContentProvider>[] mainToolWindowContentProviders)
        {
            this.horizontalContent = new StackedContent <IStackedContentChild>(true);
            this.verticalContent   = new StackedContent <IStackedContentChild>(false);
            this.toolWindowUIs     = new Dictionary <AppToolWindowLocation, ToolWindowUI>();
            var toolWindowService = toolWindowServiceProvider.Create();

            this.mainToolWindowContentProviders = mainToolWindowContentProviders.ToArray();
            this.savedLocations = new Dictionary <Guid, AppToolWindowLocation>();

            var          guid = new Guid(MenuConstants.GUIDOBJ_TOOLWINDOW_TABCONTROL_GUID);
            const double HORIZ_WIDTH = 250, VERT_HEIGHT = 250;

            toolWindowUIs.Add(AppToolWindowLocation.Left, new ToolWindowUI(this, AppToolWindowLocation.Left, HORIZ_WIDTH, horizontalContent, false, toolWindowService.Create(new ToolWindowGroupServiceOptions(guid))));
            toolWindowUIs.Add(AppToolWindowLocation.Right, new ToolWindowUI(this, AppToolWindowLocation.Right, HORIZ_WIDTH, horizontalContent, true, toolWindowService.Create(new ToolWindowGroupServiceOptions(guid))));
            toolWindowUIs.Add(AppToolWindowLocation.Top, new ToolWindowUI(this, AppToolWindowLocation.Top, VERT_HEIGHT, verticalContent, false, toolWindowService.Create(new ToolWindowGroupServiceOptions(guid))));
            toolWindowUIs.Add(AppToolWindowLocation.Bottom, new ToolWindowUI(this, AppToolWindowLocation.Bottom, VERT_HEIGHT, verticalContent, true, toolWindowService.Create(new ToolWindowGroupServiceOptions(guid))));
        }
		MainWindowControl(IToolWindowServiceProvider toolWindowServiceProvider, [ImportMany] Lazy<IToolWindowContentProvider>[] mainToolWindowContentProviders) {
			horizontalContent = new StackedContent<IStackedContentChild>(true);
			verticalContent = new StackedContent<IStackedContentChild>(false);
			toolWindowUIs = new Dictionary<AppToolWindowLocation, ToolWindowUI>();
			var toolWindowService = toolWindowServiceProvider.Create();
			this.mainToolWindowContentProviders = mainToolWindowContentProviders.ToArray();
			savedLocations = new Dictionary<Guid, AppToolWindowLocation>();

			var guid = new Guid(MenuConstants.GUIDOBJ_TOOLWINDOW_TABCONTROL_GUID);
			const double HORIZ_WIDTH = 250, VERT_HEIGHT = 250;
			toolWindowUIs.Add(AppToolWindowLocation.Left, new ToolWindowUI(this, AppToolWindowLocation.Left, HORIZ_WIDTH, horizontalContent, false, toolWindowService.Create(new ToolWindowGroupServiceOptions(guid))));
			toolWindowUIs.Add(AppToolWindowLocation.Right, new ToolWindowUI(this, AppToolWindowLocation.Right, HORIZ_WIDTH, horizontalContent, true, toolWindowService.Create(new ToolWindowGroupServiceOptions(guid))));
			toolWindowUIs.Add(AppToolWindowLocation.Top, new ToolWindowUI(this, AppToolWindowLocation.Top, VERT_HEIGHT, verticalContent, false, toolWindowService.Create(new ToolWindowGroupServiceOptions(guid))));
			toolWindowUIs.Add(AppToolWindowLocation.Bottom, new ToolWindowUI(this, AppToolWindowLocation.Bottom, VERT_HEIGHT, verticalContent, true, toolWindowService.Create(new ToolWindowGroupServiceOptions(guid))));
		}