/// <summary>
        /// Creates a predicate filter expression that calls <see cref="SatisfiesFilter"/>.
        /// </summary>
        /// <param name="parameterExpression">The parameter expression, which parameter 
        /// will be passed to <see cref="SatisfiesFilter"/> method.</param>
        protected override Expression CreateFilterExpression(ParameterExpression parameterExpression)
        {
            var expressionBuilder = new FilterDescriptionExpressionBuilder(parameterExpression, this);

            return expressionBuilder.CreateBodyExpression();
        }
        /// <summary>
        /// Creates a predicate filter expression that calls <see cref="SatisfiesFilter"/>.
        /// </summary>
        /// <param name="parameterExpression">The parameter expression, which parameter
        /// will be passed to <see cref="SatisfiesFilter"/> method.</param>
        protected override Expression CreateFilterExpression(ParameterExpression parameterExpression)
        {
            var expressionBuilder = new FilterDescriptionExpressionBuilder(parameterExpression, this);

            return(expressionBuilder.CreateBodyExpression());
        }