public Query toQuery(Expression<?> expr, QueryMetadata metadata) {
        if (expr instanceof Operation<?>) {
            return toQuery((Operation<?>) expr, metadata);
        } else {
            return toQuery(ExpressionUtils.extract(expr), metadata);
        }
    }
template method

@param leftHandSide left hand side
@param rightHandSide right hand side
@return results
querydsl-lucene3/src/main/java/com/querydsl/lucene3/LuceneSerializer.java