*/
public long obtainID() throws IOException {
WriteLock wLock = new WriteLock(zookeeper, zNodeLockBasePath, Ids.OPEN_ACL_UNSAFE);
wLock.setLockListener(this);
try {
boolean lockGrabbed = wLock.lock();
if (lockGrabbed == false) {
//TO DO : Let this request queue up and try obtaining lock.
throw new IOException("Unable to obtain lock to obtain id.");
} else {
id = incrementAndReadCounter();