void OpenCreateProxyWindow(CreateProxyFromData createData, bool repositionWindow = true)
        {
            var createProxyUI = new CreateProxyFromDataUI();

            createProxyUI.BindData(createData);
            createProxyUI.CountChanged += x => createData.MaxCount = x;

            if (repositionWindow)
            {
                var clickPosition = EditorWindow.focusedWindow.position.position + Event.current.mousePosition;
                m_CreateWindow = EditorWindow.GetWindow <CreateFromDataWindow>(true);
                m_CreateWindow.Open(clickPosition);
            }

            m_CreateWindow.AddNewPage(createProxyUI);

            createProxyUI.StartEditingNameField();
        }
        void OpenCreateProxyGroupWindow(CreateProxyGroupFromData createGroupData)
        {
            var createProxyGroupUI = new CreateProxyGroupFromDataUI();

            createProxyGroupUI.BindData(createGroupData);
            createProxyGroupUI.OnChildModified += createData =>
            {
                createData.EditCreatedProxy();
                OpenCreateProxyWindow(createData, false);
            };

            createProxyGroupUI.CountChanged += x => createGroupData.MaxCount = x;

            var clickPosition = EditorWindow.focusedWindow.position.position + Event.current.mousePosition;

            m_CreateWindow = EditorWindow.GetWindow <CreateFromDataWindow>(true);
            m_CreateWindow.AddNewPage(createProxyGroupUI);
            m_CreateWindow.Open(clickPosition);

            createProxyGroupUI.StartEditingNameField();
        }