I have an application that enables users to programatically create x number of ToolWindows. Upon re-opening a ToolWindow I would like to set the state, position and size. I am unable to use the DockManager functions because the ToolWindows must not be loaded at startup but instead upon user interaction with the application. There is quite an array of properties and objects to obtain the information but I am not sure what properties I need to save and what properties I need to set. Do you have sample code that shows the correct method for programatically collecting the necessary propertes (e.g. ToolWindows.State, ToolWindow.ToolWindowContainer.RootDock, AutoHideContainer.RootDock) on closing as well as the correct method to re-apply the property values on ToolWindow create?