This implementation attempts to balance the connections over the cluster based on load. First it will try to reuse an existing connection. If no connections exist, or if all connection loads are larger than the newConnectionTreshold, a new connection is created at a node with an as low as possible load. If that fails (e.g. because the max amount of connections per node is reached), an attempt is made to select the least used connection from the least used node.