/// <summary>
 /// Create a new instance of <see cref="MessageParameterProcessor"/>
 /// </summary>
 /// <param name="resolver"></param>
 /// <param name="preheater"></param>
 public MessageParameterProcessor(MessageParameterResolver resolver, MessageTemplateCachePreheater preheater)
 {
     _messageParameterResolver = resolver ?? throw new ArgumentNullException(nameof(resolver));
     _propertyBinder           = new PropertyBinder(_messageParameterResolver);
     _messageTemplateParser.FirePreheadedMessageTemplates(preheater);
 }
 public NestParameterResolver(int maxLevelOfNestLimited, MessageParameterResolver root)
 {
     _maxLevelOfNestLimitedSelf = maxLevelOfNestLimited;
     _root = root ?? throw new ArgumentNullException(nameof(root));
 }