public void Append(RegisterRuleChain chain)
        {
            if (chain is null)
            {
                throw new ArgumentNullException(nameof(chain));
            }
            if (chain.RegisterHandler is null)
            {
                return;
            }
            var func = chain.RegisterHandler;

            UpdateRegisterHandler(func);
        }
        public void Override(RegisterRuleChain chain)
        {
            if (chain is null)
            {
                throw new ArgumentNullException(nameof(chain));
            }
            if (chain.RegisterHandler is null)
            {
                return;
            }
            var func = chain.RegisterHandler;

            RegisterHandler = func;
        }
 public LinkToCorrectnessContext(CorrectnessContext <T> context)
 {
     _declaringType        = typeof(T);
     _linkToGenericContext = context ?? throw new ArgumentNullException(nameof(context));
     RuleChainRef          = _linkToGenericContext.ExposeCorrectRuleChain();
 }