protected override void BeforePack()
        {
            CharacterDropConfigs = ConfigurationManager.CharacterDropConfigs;
            CharacterDropLists   = ConfigurationManager.CharacterDropLists;

            Log.LogDebug($"Packaged CharacterDrop configurations: {ConfigurationManager.CharacterDropConfigs?.Subsections?.Count ?? 0}");
            Log.LogDebug($"Packaged CharacterDrop lists: {ConfigurationManager.CharacterDropLists?.Subsections?.Count ?? 0}");
        }
        public static void MergeInto(this CharacterDropListConfigurationFile source, CharacterDropListConfigurationFile target)
        {
            foreach (var sourceMob in source.Subsections)
            {
                if (target.Subsections.ContainsKey(sourceMob.Key))
                {
                    var targetMob = target.Subsections[sourceMob.Key];

                    foreach (var sourceItem in sourceMob.Value.Subsections)
                    {
                        if (targetMob.Subsections.ContainsKey(sourceItem.Key))
                        {
                            Log.LogWarning($"Overlapping drop configs for {sourceItem.Value.SectionKey}, overriding existing.");
                        }

                        targetMob.Subsections[sourceItem.Key] = sourceItem.Value;
                    }
                }
                else
                {
                    target.Subsections[sourceMob.Key] = sourceMob.Value;
                }
            }
        }