pub fn check_if_top_few_have_overwhelming_votes(&mut self) {
        if self.remaining_to_elect().0>0 {
            let num_candidates_below_potential_winners = self.continuing_candidates_sorted_by_tally.len()-self.remaining_to_elect().0;
            let possibly_overwhelming_tally = self.tally(self.continuing_candidates_sorted_by_tally[num_candidates_below_potential_winners]);
            let mut others : Rules::Tally = Rules::Tally::zero();
            for &candidate in self.continuing_candidates_sorted_by_tally.iter().take(num_candidates_below_potential_winners) {
                others+=self.tally(candidate);
            }
            for &candidate in self.pending_surplus_distribution.iter() {
                others+=self.tally(candidate)-self.quota.clone();
            }
            if self.print_progress_to_stdout { println!("remaining seats {} corresponding candidate tally {} others {}", self.remaining_to_elect(), possibly_overwhelming_tally, others); }
            if possibly_overwhelming_tally>others {
                let candidates_to_elect : Vec<CandidateIndex> = self.continuing_candidates_sorted_by_tally.iter().rev().take(self.remaining_to_elect().0).cloned().collect();
                for c in candidates_to_elect {
                    self.declare_elected(c,ElectionReason::OverwhelmingTally);
                }
            }
        }
    }
/// Implement the following, taken from NSW local government clause 11:
/// ```text
///     (2)  When only one vacancy remains unfilled and the votes of one continuing candidate exceed the total of all the votes of the other continuing candidates, together with any surplus not transferred, that candidate is elected.
///
///     (3)  When more than one vacancy remains unfilled and the votes of the candidate who (if all the vacancies were filled by the successive election of the continuing candidates with the largest number of votes) would be the last to be elected exceed the total of any surplus not transferred plus the votes of all the continuing candidates with fewer votes than that candidate, that candidate and all the other continuing candidates who do not have fewer votes than that candidate are elected.
/// ```
Implement the following, taken from NSW local government clause 11:
```text
(2)  When only one vacancy remains unfilled and the votes of one continuing candidate exceed the total of all the votes of the other continuing candidates, together with any surplus not transferred, that candidate is elected.

(3)  When more than one vacancy remains unfilled and the votes of the candidate who (if all the vacancies were filled by the successive election of the continuing candidates with the largest number of votes) would be the last to be elected exceed the total of any surplus not transferred plus the votes of all the continuing candidates with fewer votes than that candidate, that candidate and all the other continuing candidates who do not have fewer votes than that candidate are elected.
Implement the following taken from NSW local government clause 11 : ` ` ` text ( 2 ) When only one vacancy remains unfilled and the votes of one continuing candidate exceed the total of all the votes of the other continuing candidates together with any surplus not transferred that candidate is elected . ( 3 ) When more than one vacancy remains unfilled and the votes of the candidate who ( if all the vacancies were filled by the successive election of the continuing candidates with the largest number of votes ) would be the last to be elected exceed the total of any surplus not transferred plus the votes of all the continuing candidates with fewer votes than that candidate that candidate and all the other continuing candidates who do not have fewer votes than that candidate are elected .
pub fn check_if_top_few_have_overwhelming_votes(&mut self) {
        if self.remaining_to_elect().0>0 {
            let num_candidates_below_potential_winners = self.continuing_candidates_sorted_by_tally.len()-self.remaining_to_elect().0;
            let possibly_overwhelming_tally = self.tally(self.continuing_candidates_sorted_by_tally[num_candidates_below_potential_winners]);
            let mut others : Rules::Tally = Rules::Tally::zero();
            for &candidate in self.continuing_candidates_sorted_by_tally.iter().take(num_candidates_below_potential_winners) {
                others+=self.tally(candidate);
            }
            for &candidate in self.pending_surplus_distribution.iter() {
                others+=self.tally(candidate)-self.quota.clone();
            }
            if self.print_progress_to_stdout { println!("remaining seats {} corresponding candidate tally {} others {}", self.remaining_to_elect(), possibly_overwhelming_tally, others); }
            if possibly_overwhelming_tally>others {
                let candidates_to_elect : Vec<CandidateIndex> = self.continuing_candidates_sorted_by_tally.iter().rev().take(self.remaining_to_elect().0).cloned().collect();
                for c in candidates_to_elect {
                    self.declare_elected(c,ElectionReason::OverwhelmingTally);
                }
            }
        }
    }
pub fn check_if_top_few_have_overwhelming_votes ( & mut self ) { if self . remaining_to_elect ( ) . 0 > 0 { let num_candidates_below_potential_winners = self . continuing_candidates_sorted_by_tally . len ( ) - self . remaining_to_elect ( ) . 0 ; let possibly_overwhelming_tally = self . tally ( self . continuing_candidates_sorted_by_tally [ num_candidates_below_potential_winners ] ) ; let mut others : Rules :: Tally = Rules :: Tally :: zero ( ) ; for & candidate in self . continuing_candidates_sorted_by_tally . iter ( ) . take ( num_candidates_below_potential_winners ) { others += self . tally ( candidate ) ; } for & candidate in self . pending_surplus_distribution . iter ( ) { others += self . tally ( candidate ) - self . quota . clone ( ) ; } if self . print_progress_to_stdout { println ! ( " " self remaining_to_elect ( ) possibly_overwhelming_tally others ) ; } if possibly_overwhelming_tally > others { let candidates_to_elect : Vec < CandidateIndex > = self . continuing_candidates_sorted_by_tally . iter ( ) . rev ( ) . take ( self . remaining_to_elect ( ) . 0 ) . cloned ( ) . collect ( ) ; for c in candidates_to_elect { self . declare_elected ( c , ElectionReason :: OverwhelmingTally ) ; } } } }
Implement the following, taken from NSW local government clause 11:
```text
(2)  When only one vacancy remains unfilled and the votes of one continuing candidate exceed the total of all the votes of the other continuing candidates, together with any surplus not transferred, that candidate is elected.
Implement the following taken from NSW local government clause 11 : ` ` ` text ( 2 ) When only one vacancy remains unfilled and the votes of one continuing candidate exceed the total of all the votes of the other continuing candidates together with any surplus not transferred that candidate is elected .
&mut self
&mut self