Dock Game Window In Code?

Hello! I’m trying to dock the game window next to the scene window in code. I’m doing this through what ideally would look like:

    EditorWindow gameWindow = EditorWindow.GetWindow<UnityEditor.GameView>(typeof(UnityEditor.SceneView));

UnityEditor.SceneView exists, but GameView does not. The obvious solution seems to be to pass in a generic type, but I’ve tried reflection and it’s beyond me at this point. I have code to obtain the Game Window as an EditorWindow:

    static EditorWindow GetMainGameView(){
		//Creates a game window. Only works if there isn't one already.
		EditorApplication.ExecuteMenuItem("Window/Game");
		
		System.Type T = System.Type.GetType("UnityEditor.GameView,UnityEditor");
		System.Reflection.MethodInfo GetMainGameView = T.GetMethod("GetMainGameView",System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static);
		System.Object Res = GetMainGameView.Invoke(null,null);
		return (EditorWindow)Res;
    }

Any help would be hugely appreciated. Thanks!

My solution based on:

Basically parse all the existing EditorWindow s by their title.

        using System.Linq;

        [MenuItem("Build/Open Build Window")]
        public static void OpenBuildWindow()
        {
            // try to dock next to Game window
            EditorWindow[] windows = Resources.FindObjectsOfTypeAll<EditorWindow>();
            var gameWindow = windows.FirstOrDefault(e => e.titleContent.text.Contains("Game"));

            if (gameWindow != null)
            {
                GetWindow<BuildScriptWindow>("Build Window", true, gameWindow.GetType());
            }
            else
            {
                GetWindow<BuildScriptWindow>("Build Window", true);
            }
        }