*/
synchronized public QueryMaker getQueryMaker(ReadTask readTask) {
// mapping the query maker by task class allows extending/adding new search/read tasks
// without needing to modify this class.
Class readTaskClass = readTask.getClass();
QueryMaker qm = (QueryMaker) readTaskQueryMaker.get(readTaskClass);
if (qm == null) {
try {
qm = (QueryMaker) qmkrClass.newInstance();
qm.setConfig(config);
} catch (Exception e) {
throw new RuntimeException(e);
}
readTaskQueryMaker.put(readTaskClass,qm);
}