private static EphemeralRealm Initialize(Player owner, WorldRealm baseRealm, List <Realm> appliedRealms)
        {
            string          key          = baseRealm.Realm.Id.ToString();
            RulesetTemplate template     = null;
            RulesetTemplate prevTemplate = baseRealm.RulesetTemplate;

            for (int i = 0; i < appliedRealms.Count; i++)
            {
                var appliedRealm = appliedRealms[i];
                key     += $".{appliedRealm.Id}";
                template = RealmManager.GetEphemeralRealmRulesetTemplate(key);
                if (template == null)
                {
                    template = RulesetTemplate.MakeRuleset(prevTemplate, appliedRealm);
                    RealmManager.CacheEphemeralRealmTemplate(key, template);
                }
                prevTemplate = template;
            }

            if (template == null)
            {
                template = prevTemplate;
            }
            return(new EphemeralRealm(owner, template));
        }