protected final ClientModuleParseCache moduleParseCache;
protected final WorkingCopyListener wclistener = new WorkingCopyListener();
public DToolClient() {
dtoolServer = new DToolServer() {
@Override
public void logError(String message, Throwable throwable) {
super.logError(message, throwable);
// Note: the error logging is important not just logging in normal usage,
// but also for tests detecting errors. It's not the best way, but works for now.