public void Show(DockPane pane, IDockContent beforeContent)
{
if (pane == null)
throw (new ArgumentNullException(Strings.DockContentHandler_Show_NullPane));
if (beforeContent != null && pane.Contents.IndexOf(beforeContent) == -1)
throw (new ArgumentException(Strings.DockContentHandler_Show_InvalidBeforeContent));
pane.DockPanel.SuspendLayout(true);
this.DockPanel = pane.DockPanel;
this.Pane = pane;
pane.SetContentIndex(this.Content, pane.Contents.IndexOf(beforeContent));
this.Show();
pane.DockPanel.ResumeLayout(true, true);
}