void IModule.OnCreate(System.Object param)
        {
            CreateParameters createParam = param as CreateParameters;

            if (createParam == null)
            {
                throw new Exception($"{nameof(PatchManager)} create param is invalid.");
            }

            _patcher = new PatchManagerImpl();
            _patcher.Initialize(createParam);

            _variantCollector = new VariantCollector();
            if (createParam.VariantRules != null)
            {
                foreach (var variantRule in createParam.VariantRules)
                {
                    _variantCollector.RegisterVariantRule(variantRule.VariantGroup, variantRule.TargetVariant);
                }
            }
        }