public final function AppendCriterion(QueryBuilder $QueryBuilder, Relational\Criterion $Criterion) { if ($Criterion->IsConstrained()) { $this->AppendPredicateExpressions($QueryBuilder, $Criterion->GetPredicateExpressions()); } if ($Criterion->IsGrouped()) { $this->AppendGroupByExpressions($QueryBuilder, $Criterion->GetGroupByExpressions()); } if ($Criterion->IsOrdered()) { $this->AppendOrderByExpressions($QueryBuilder, $Criterion->GetOrderedExpressionsAscendingMap()); } if ($Criterion->IsRanged()) { $this->AppendRange($QueryBuilder, $Criterion->GetRangeOffset(), $Criterion->GetRangeAmount()); } }