private InterProcessReadWriteLock getLock() throws ClientGeneralException {
   try {
     if (lock == null) {
       String lockName =
           ComputeSessionUtil.Constants.COMPUTE_SESSION_BASE_PATH.toString() + "-" + hostAddress;
       lock = coordinator.getReadWriteLock(lockName);
     }
   } catch (Exception e) {
     throw new ClientGeneralException(ClientMessageKeys.DISTRIBUTED_LOCK_ERROR, e);
   }
   return lock;
 }