/// <summary>
        /// Transfer ownership of the given RenderingWindow to this
        /// RenderingSurface.  The result is \e generally the same as if this
        /// RenderingSurface had created the RenderingWindow in the first place.
        /// </summary>
        /// <param name="window">
        /// RenderingWindow object that this RenderingSurface is to take ownership of.
        /// </param>
        public virtual void TransferRenderingWindow(RenderingWindow window)
        {
            if (window.GetOwner() != this)
            {
                // detach window from it's current owner
                window.GetOwner().DetatchWindow(window);
                // add window to this surface.
                AttachWindow(window);

                window.SetOwner(this);
            }
        }
 /// <summary>
 /// Destroy a RenderingWindow we own.  If we are not the present owner of
 /// the given RenderingWindow, nothing happens.
 /// </summary>
 /// <param name="window">
 /// RenderingWindow object that is to be destroyed.
 /// </param>
 /// <remarks>
 /// Destroying a RenderingWindow will not also destroy the TextureTarget
 /// that was given when the RenderingWindow was created.  The TextureTarget
 /// should be destoyed elsewhere.
 /// </remarks>
 public virtual void DestroyRenderingWindow(RenderingWindow window)
 {
     if (window.GetOwner() == this)
     {
         DetatchWindow(window);
         // TODO: CEGUI_DELETE_AO & window;
     }
 }