mDBOp.prepare(mbx, res, mbidx, chunkSize);
mDBOp.prepare(mbx, res, mbidx, params, chunkSize);
    protected void prepare(Mailbox mbx, ZimbraQueryResultsImpl res, MailboxIndex mbidx, int chunkSize) throws ServiceException, IOException    {        assert(!mHaveRunSearch);        if (mDBOp == null) {            // wrap ourselves in a DBQueryOperation, since we're eventually going to need to go to the DB            mDBOp = DBQueryOperation.Create();            mDBOp.addLuceneOp(this);            mDBOp.prepare(mbx, res, mbidx, chunkSize); // will call back into this function again!        } else {            this.setupResults(mbx, res);            try {                mSearcher = mbidx.getCountedIndexSearcher();                mSort = mbidx.getSort(res.getSortBy());//              runSearch();            } catch (IOException e) {                e.printStackTrace();                if (mSearcher != null) {                    mSearcher.release();                    mSearcher = null;                }                mSort = null;                mLuceneHits = null;            }        }    }