code: public void releaseAllMailAccountsForThread() {
  		log.info("Releasing all mail accounts for the current thread...");
  		lock.lock();
  		try {
  			for (Iterator<Entry<MailAccount, ThreadReservationKeyWrapper>> it = usedAccounts.entrySet().iterator(); it.hasNext(); ) {
  				ThreadReservationKeyWrapper wrapper = it.next().getValue();
  				if (wrapper.thread == Thread.currentThread()) {
  					it.remove();
  				}
  			}
  			condition.signalAll();
  		} finally {
  			lock.unlock();
  		}
  	}
docs: Releases all reserved mail accounts for the current thread so they can be reused by other
  threads. Threads blocking on an attempt to reserved an account are notified.