public static SubBuilder <T> BeginGroup <T>(this CombinedValidatorBuilder <T> b, string itemId)
 {
     return(new SubBuilder <T>(b, itemId, false));
 }
 public static CombinedValidatorBuilder <T> Append <T, P>(this CombinedValidatorBuilder <T> b, string itemId, Func <T, P> propertyGetter, IValidator <P> validator)
 {
     b.Add(CreateAdapter(itemId, propertyGetter, validator));
     return(b);
 }
 public static CombinedValidatorBuilder <T> Append <T>(this CombinedValidatorBuilder <T> b, IValidator <T> validator)
 {
     b.Add(validator);
     return(b);
 }
 public static CombinedValidatorBuilder <T> Append <T>(this CombinedValidatorBuilder <T> b, string itemId, IValidator <T> validator)
 {
     b.Add(new ItemIdAdapterValidator <T>(itemId, validator));
     return(b);
 }
 public SubBuilder(CombinedValidatorBuilder <T> parentValidatorBuilder, string itemId, bool mergeAsNested) : base(mergeAsNested)
 {
     this.ParentValidatorBuilder = parentValidatorBuilder;
     this.ItemId = itemId;
 }