public void compile()
{
if (_needsCompilation)
{
// first we resolve this query
new QueryTreeResolver().resolveAndCheck(this);
// TODO: next the filter and ordering expressions are enhanced with
// actual database queries, e.g. like this:
// new QueryCompiler().compile(this);
// which adds ojb queries to the filter expressions
// (including the ordering)