class QueryFilter {

    public static QueryFilter create(Query q) throws QueryFilterException {
        List<Conjunction> dnf = createDisjunctiveNormalForm(q);
        Evaluator ev = DisjunctionEvaluator.create(dnf);
        return new QueryFilter(ev);
    }

    private  QueryFilter(Evaluator evaluator);

}