static void PerformDrop(ContainerWindow window, EditorWindow child, Vector2 screenPoint)
        {
            SplitView splitView = window.rootSplitView;
            DropInfo  dropInfo  = splitView.DragOver(child, screenPoint);

            if (dropInfo == null || dropInfo.dropArea == null) //this 2nd case happens when the inspector is a child of another view (I.E: Scene View)
            {
                //this undocks the window in this particular edge case
                child.RemoveFromDockArea();
                EditorWindow.CreateNewWindowForEditorWindow(child, true, true, true);
                return;
            }
            splitView.PerformDrop(child, dropInfo, screenPoint); //seems to alway return true so no point in relaying this value, for now at least
        }