driver-core/src/main/com/mongodb/internal/connection/BaseCluster.java
private ClusterableServer getRandomServer(final List<ServerDescription> serverDescriptions) {
        while (!serverDescriptions.isEmpty()) {
            int serverPos = getRandom().nextInt(serverDescriptions.size());
            ClusterableServer server = getServer(serverDescriptions.get(serverPos).getAddress());
            if (server != null) {
                return server;
            } else {
                serverDescriptions.remove(serverPos);
            }
        }
        return null;
    }
private ClusterableServer getRandomServer(final List<ServerDescription> serverDescriptions) {
        while (!serverDescriptions.isEmpty()) {
            int serverPos = getRandom().nextInt(serverDescriptions.size());
            ClusterableServer server = getServer(serverDescriptions.get(serverPos).getAddress());
            if (server != null) {
                return server;
            } else {
                serverDescriptions.remove(serverPos);
            }
        }
        return null;
    }
private ClusterableServer getRandomServer ( final List < ServerDescription > serverDescriptions ) { while ( ! serverDescriptions . isEmpty ( ) ) { int serverPos = getRandom ( ) . nextInt ( serverDescriptions . size ( ) ) ; ClusterableServer server = getServer ( serverDescriptions . get ( serverPos ) . getAddress ( ) ) ; if ( server != null ) { return server ; } else { serverDescriptions . remove ( serverPos ) ; } } return null ; }
gets a random server that still exists in the cluster.  Returns null if there are none.
gets a random server that still exists in the cluster . Returns null if there are none .