code: def _elect_dest_broker(self, victim_partition):
          
          under_loaded_brokers = sorted(
              [
                  broker
                  for broker in self._brokers
                  if (victim_partition not in broker.partitions and
                      not broker.inactive and
                      not broker.decommissioned)
              ],
              key=lambda b: len(b.partitions)
          )
          if not under_loaded_brokers:
              return None
  
          broker_topic_partition_cnt = [
              (broker, broker.count_partitions(victim_partition.topic))
              for broker in under_loaded_brokers
              if victim_partition not in broker.partitions
          ]
          min_count_pair = min(
              broker_topic_partition_cnt,
              key=lambda ele: ele[1],
          )
          return min_count_pair[0]
docs: Select first under loaded brokers preferring not having
          partition of same topic as victim partition.