int limit = Relation.NO_LIMIT;
int limitInverse = Relation.NO_LIMIT;
List<OrderSpec> orderSpecs = null;
for (Relation relation: relations) {
joinedAliases = joinedAliases.applyTo(relation.aliases());
expressions.add(relation.condition());
softConditions.add(relation.softCondition());
joins.addAll(relation.joinConditions());
projections.addAll(relation.projections());
orderSpecs = orderSpecs == null ? relation.orderSpecs() : orderSpecs;