private NodeInternal registerNodeBase(ClientID clientId, boolean isLocalNode) { final NodeInternal node = new NodeImpl(clientId.toString(), clientId.toLong()); nodesWriteLock.lock(); try { NodeInternal old = nodes.putIfAbsent(clientId, node); if (old != null) { return old; } else { return node; } } finally { nodesWriteLock.unlock(); } }