    /*
     *  call-seq:
     *     FilteredQuery.new(query, filter) -> query
     *
     *  Create a new FilteredQuery which filters +query+ with +filter+.
     */
    static VALUE
    frt_fqq_init(VALUE self, VALUE rquery, VALUE rfilter)
    {
        Query *sq, *q;
        Filter *f;
        Data_Get_Struct(rquery, Query, sq);
        Data_Get_Struct(rfilter, Filter, f);
        q = fq_new(sq, f);
        REF(sq);
        REF(f);
        Frt_Wrap_Struct(self, &frt_fqq_mark, &frt_q_free, q);
        object_add(q, self);
        return self;
    }