/// <summary>
        /// To the specified criterias.
        /// </summary>
        /// <param name="criterias">The criterias.</param>
        /// <returns></returns>
        public Restriction <TCriteria, TCause> To(params TCriteria[] criterias)
        {
            if (criterias == null || criterias.Length == 0)
            {
                return(this);
            }

            var newCriterias = criterias
                               .Except(WhiteList)
                               // .Where(c => !WhiteList.Any(w => w.Equals(c)))
                               .ToList();

            if (newCriterias.Any())
            {
                WhiteList
                .AddRange(newCriterias);
            }

            return
                (this);
        }