void IClassExpressionVisitor.Visit(
     IDataExactCardinality dataExactCardinality
     )
 {
     _enter?.Visit(dataExactCardinality);
     _exit?.Visit(dataExactCardinality);
 }
 public virtual void Visit(IDataExactCardinality dataExactCardinality)
 {
 }
 bool IClassMembershipEvaluator.Evaluate(
     IDataExactCardinality dataExactCardinality,
     object individual
     ) => DataPropertyValues(
     dataExactCardinality.DataPropertyExpression,
     individual).Count(value => dataExactCardinality.DataRange?.HasMember(value) ?? true) == dataExactCardinality.Cardinality;