public NameMatch(CharacterWishlist wishlist)
            {
                if (wishlist.Items.Count == 0)
                {
                    _name = null;
                    return;
                }

                var builder = new StringBuilder();
                var first   = true;

                foreach (var item in wishlist.Items)
                {
                    if (first)
                    {
                        first = false;
                    }
                    else
                    {
                        builder.Append('|');
                    }

                    builder.Append('(')
                    .Append(item.Name)
                    .Append(')');
                }

                _name = new Regex(builder.ToString(), RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.IgnoreCase);
            }
 void ResetNameMatch(CharacterWishlist wishlist)
 {
     try
     {
         _name = new NameMatch(wishlist);
         _logger.LogDebug($"Loaded character wishlist: {JsonConvert.SerializeObject(wishlist)}");
     }
     catch (Exception e)
     {
         _name = default;
         _logger.LogWarning(e, "Could not build character match.");
     }
 }