public ValidationRegistrarWithMessage(ValueValidationRegistrar registrar, IValidationRegistrar rootRegistrar, Predicate <object> predicate)
 {
     _registrar     = registrar;
     _rootRegistrar = rootRegistrar ?? throw new ArgumentNullException(nameof(rootRegistrar));
     _func          = null;
     _predicate     = predicate ?? throw new ArgumentNullException(nameof(predicate));
 }
 public ValidationRegistrarWithMessage(ValueValidationRegistrar registrar, IValidationRegistrar rootRegistrar, Func <object, bool> func)
 {
     _registrar     = registrar;
     _rootRegistrar = rootRegistrar ?? throw new ArgumentNullException(nameof(rootRegistrar));
     _func          = func ?? throw new ArgumentNullException(nameof(func));
     _predicate     = null;
 }