src/main/java/com/github/ddth/cql/SessionManager.java
synchronized protected Cluster getCluster(ClusterIdentifier key) {
        Cluster cluster;
        try {
            cluster = clusterCache.get(key);
            if (cluster.isClosed()) {
                LOGGER.info("Cluster [" + cluster + "] was closed, obtaining a new one...");
                clusterCache.invalidate(key);
                cluster = clusterCache.get(key);
            }
        } catch (ExecutionException e) {
            Throwable t = e.getCause();
            throw t instanceof RuntimeException ? (RuntimeException) t : new RuntimeException(t);
        }
        return cluster;
    }
synchronized protected Cluster getCluster(ClusterIdentifier key) {
        Cluster cluster;
        try {
            cluster = clusterCache.get(key);
            if (cluster.isClosed()) {
                LOGGER.info("Cluster [" + cluster + "] was closed, obtaining a new one...");
                clusterCache.invalidate(key);
                cluster = clusterCache.get(key);
            }
        } catch (ExecutionException e) {
            Throwable t = e.getCause();
            throw t instanceof RuntimeException ? (RuntimeException) t : new RuntimeException(t);
        }
        return cluster;
    }
Obtain a Cassandra cluster instance.

@param key
@return
@since 0.4.0