db.query(query, callback);
db.query(query, prefix, callback);
    public NodeSet find(int relation, DocumentSet docs, NodeSet contextSet, Indexable value)     throws TerminatedException {        int idxOp =  checkRelationOp(relation);        NodeSet result = new ExtArrayNodeSet();        SearchCallback callback = new SearchCallback(docs, contextSet, result, true);        Lock lock = db.getLock();        for (Iterator iter = docs.getCollectionIterator(); iter.hasNext();) {			Collection collection = (Collection) iter.next();			short collectionId = collection.getId();			byte[] key = value.serialize(collectionId, caseSensitive);			IndexQuery query = new IndexQuery(idxOp, new Value(key));			try {				lock.acquire();				try {					db.query(query, callback);				} catch (IOException ioe) {					LOG.debug(ioe);				} catch (BTreeException bte) {					LOG.debug(bte);				}			} catch (LockException e) {				LOG.debug(e);			} finally {				lock.release();			}        }        return result;    }