items = new ArrayList<TableReference>(clauses.size());
for (Iterator i = clauses.iterator(); i.hasNext();) {
items.add(translate((FromClause)i.next()));
}
}
Select q = new Select(translatedSymbols, query
.getSelect().isDistinct(), items,
translate(query.getCriteria()), translate(query.getGroupBy()),
translate(query.getHaving()), translate(query.getOrderBy(), false));
q.setLimit(translate(query.getLimit()));
q.setWith(translate(query.getWith()));
return q;
}