/// <summary>
        /// Adds match predicate.
        /// </summary>
        /// <param name="validatorSelector">Validator selector.</param>
        /// <returns>New rule instance.</returns>
        public FluentValidationRule MatchesValidator(Func <IPropertyValidator, bool> validatorSelector)
        {
            var matches = Matches.Append(validatorSelector).ToArray();

            return(new FluentValidationRule(Name, matches, Apply));
        }