public static bool Satisfies(this IFlexpression source, IFlexpressionSpecification flexpressionSpecification)
        {
            var visitor   = new SpecificationToVisitorAdapter(flexpressionSpecification);
            var satisfied = source.AcceptVisitor(visitor);

            return(satisfied);
        }
        public override TVisitationResult AcceptVisitor <TVisitationResult>(IVisitFlexpressions <TVisitationResult> visitor)
        {
            var contentVisitationResult = Content.AcceptVisitor(visitor);
            var visitationResult        = visitor.VisitQuantifier(contentVisitationResult, Min, Max);

            return(visitationResult);
        }
        public static bool IsSatisfiedBy(this IFlexpressionSpecification flexpressionSpecification, IFlexpression flexpression)
        {
            var visitor   = new SpecificationToVisitorAdapter(flexpressionSpecification);
            var satisfied = flexpression.AcceptVisitor(visitor);

            return(satisfied);
        }