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; }