Given a query that is going to return real columns. A rowCount() function that will remove all the columns and execute a COUNT(*) instead.
Another possibility is to implement Query.clone() which will allow for temporary altering of a query.
Why is this useful? Say your building a website which needs to page/sort through data. To do this in a generic/optimized way, you need to make modifications to the query. setting query.setFirstRow and query.setMaxRow . In order to calculate these you need to know the total possible rows a query will return.