if (syncRequired) { sync(broker, syncEvent); syncRequired = false; }
if (syncRequired) { sync(broker, syncEvent); syncRequired = false; checkpoint = false; }
	public void release(DBBroker broker) {		if (broker == null)			return;		broker.decReferenceCount();		if(broker.getReferenceCount() > 0) {			// broker still has references. Keep it			return;  		}		synchronized (this) {		    threads.remove(Thread.currentThread());			pool.push(broker);			if(threads.size() == 0) {				if (syncRequired) {					sync(broker, syncEvent);					syncRequired = false;				}				                // process any waiting system tasks				processWaitingTasks(broker);			}			this.notifyAll();		}	}