if (syncRequired && pool.size() == brokers) {
if (syncRequired && threads.size() == 0) {
	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 (syncRequired && pool.size() == brokers) {				sync(broker);				syncRequired = false;			}			this.notifyAll();		}	}