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());
}
}