text: public virtual IQueryMaker GetQueryMaker(ReadTask readTask){lock (this){Type readTaskClass = readTask.GetType();IQueryMaker qm;if (!readTaskQueryMaker.TryGetValue(readTaskClass, out qm) || qm == null){try{qm = (IQueryMaker)Activator.CreateInstance(qmkrClass);qm.SetConfig(config);}catch (Exception e){throw new Exception(e.ToString(), e);}readTaskQueryMaker[readTaskClass] = qm;}return qm;}}