private static IValidationTarget CreatePropertyValidationTarget(IEnumerable <string> properties)
        {
            IValidationTarget target;

            // Getting rid of thw "Possible multiple enumerations of IEnumerable" warning
            properties = properties.ToArray();

            if (properties.Count() == 1)
            {
                target = new PropertyValidationTarget(properties.First());
            }
            else
            {
                target = new PropertyCollectionValidationTarget(properties);
            }
            return(target);
        }
        private static IValidationTarget CreatePropertyValidationTarget(IEnumerable <Expression <Func <object> > > properties)
        {
            IValidationTarget target;

            // Getting rid of thw "Possible multiple enumerations of IEnumerable" warning
            properties = properties.ToArray();

            if (properties.Count() == 1)
            {
                target = new PropertyValidationTarget(properties.First());
            }
            else
            {
                target = new PropertyCollectionValidationTarget(properties.Select(p => PropertyName.For(p)));
            }
            return(target);
        }