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