private PooledConnection createPooledConnection(Set<ServerLocation> excludedServers)
      throws NoAvailableServersException, ServerOperationException {
    try {
      return addConnection(connectionFactory.createClientToServerConnection(excludedServers));
    } catch (GemFireSecurityException e) {
      throw new ServerOperationException(e);
    } catch (ServerRefusedConnectionException e) {
      throw new NoAvailableServersException(e);
    }
  }
Create a connection manager

@param poolName the name of the pool that owns us
@param factory the factory for new connections
@param maxConnections The maximum number of connections that can exist
@param minConnections The minimum number of connections that can exist
@param idleTimeout The amount of time to wait to expire idle connections. -1 means that idle
       connections are never expired.
@param lifetimeTimeout the lifetimeTimeout in ms.
geode-core/src/main/java/org/apache/geode/cache/client/internal/pooling/ConnectionManagerImpl.java