/// <inheritdoc />
        public void Prepare(AssetModulePrepareCallbackSet callbackSet, object context)
        {
            if (m_Preparer.Status != PreparerStatus.None)
            {
                throw new InvalidOperationException("Preparation already kicked off.");
            }

            m_Preparer.Run(callbackSet, context);
        }
            public void Run(AssetModulePrepareCallbackSet callbackSet, object context)
            {
                if (Status != PreparerStatus.None)
                {
                    throw new InvalidOperationException("Preparation already run.");
                }

                if (IndexForInstallerLoader == null)
                {
                    throw new InvalidOperationException("Read-only index loader is not set.");
                }

                m_CallbackSet = callbackSet;
                m_Context     = context;
                Status        = PreparerStatus.Running;

                IndexForInstallerLoader.Load(m_Owner.InstallerIndexPath, new LoadAssetIndexForInstallerCallbackSet
                {
                    OnFailure = OnLoadInstallerIndexFailure,
                    OnSuccess = OnLoadInstallerIndexSuccess,
                }, null);
            }