int pickOtherRandomServer(BalancerClusterState cluster, int serverIndex) {
    if (cluster.numServers < 2) {
      return -1;
    }
    while (true) {
      int otherServerIndex = pickRandomServer(cluster);
      if (otherServerIndex != serverIndex) {
        return otherServerIndex;
      }
    }
  }
From a list of regions pick a random one. Null can be returned which
{@link StochasticLoadBalancer#balanceCluster(Map)} recognize as signal to try a region move
rather than swap.
@param cluster        The state of the cluster
@param server         index of the server
@param chanceOfNoSwap Chance that this will decide to try a move rather than a swap.
@return a random {@link RegionInfo} or null if an asymmetrical move is suggested.
hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/CandidateGenerator.java