private void ResolveDependencies()
        {
            if (m_DependenciesResolved)
            {
                return;
            }

            m_AssetStoreCache.ResolveDependencies(m_ApplicationProxy, m_AssetStoreUtils, m_IOProxy);
            m_AssetStoreClient.ResolveDependencies(m_UnityConnectProxy, m_AssetStoreCache, m_AssetStoreUtils, m_AssetStoreRestAPI, m_UpmClient, m_IOProxy);
            m_AssetStoreOAuth.ResolveDependencies(m_UnityConnectProxy, m_UnityOAuthProxy, m_AssetStoreUtils, m_HttpClientFactory);
            m_AssetStoreUtils.ResolveDependencies(m_UnityConnectProxy);
            m_AssetStoreRestAPI.ResolveDependencies(m_UnityConnectProxy, m_AssetStoreOAuth, m_AssetStoreCache, m_HttpClientFactory);
            m_AssetStoreDownloadManager.ResolveDependencies(m_ApplicationProxy, m_HttpClientFactory, m_UnityConnectProxy, m_AssetStoreCache, m_AssetStoreUtils, m_AssetStoreRestAPI);

            m_UpmCache.ResolveDependencies(m_PackageManagerPrefs);
            m_UpmClient.ResolveDependencies(m_PackageManagerPrefs, m_UpmCache, m_IOProxy, m_SettingsProxy);

            m_PackageFiltering.ResolveDependencies(m_UnityConnectProxy, m_PackageManagerPrefs);

            m_PackageDatabase.ResolveDependencies(m_UnityConnectProxy, m_AssetStoreUtils, m_AssetStoreClient, m_AssetStoreDownloadManager, m_UpmClient, m_IOProxy);
            m_PageManager.ResolveDependencies(m_ApplicationProxy, m_SelectionProxy, m_UnityConnectProxy, m_PackageFiltering, m_PackageManagerPrefs, m_UpmClient, m_AssetStoreClient, m_PackageDatabase, m_SettingsProxy);

            m_DependenciesResolved = true;
        }