Load Balance replicated segments across historicals during querying

In every query, the broker maps the input interval in the query to a list of historicals where segments in the interval are located. What happens if more than one historical has a segment in the same interval (due to replication)? Assume the cluster has only one tier. Does the broker optimize its query routing options such that queries are evenly balanced among possible historical options? Or does it not care?

For instance, if interval ΔT is divided into [T1-T2), [T2-T3) and [T3-T4). If segments in [T1-T2) are in historical H1 and H2, segments in [T2-T3) are in H2 and H3, and segments in [T3-T4) are in H1 and H3, will the broker send queries to H1, H2, H1 respectively or load balance by sending to H1, H2, H3 respectively?

It's decided per segment, like (in io.druid.client.selector.ServerSelector)

    int count1 = -server1.getServer().getPriority();
    int count2 = -server2.getServer().getPriority();
    if (count1 == count2) {
      count1 = server1.getClient().getNumOpenConnections();
      count2 = server2.getClient().getNumOpenConnections();
    return count1 <= count2 ? server1 : server2;

Thank you. In the future, other properties (like cpu usage, free memory and disk usage) could be used as well to select the server.