flip method
Implementation
CondorcetPair<TCandidate> flip(TCandidate firstCandidate) {
assert(firstCandidate == candidate1 || firstCandidate == candidate2);
var can2 = firstCandidate == candidate1 ? candidate2 : candidate1;
var flipped = false;
if (firstCandidate.compareTo(can2) > 0) {
final temp = can2;
can2 = firstCandidate;
firstCandidate = temp;
flipped = true;
}
assert(firstCandidate == candidate1, 'can1');
assert(can2 == candidate2, 'can2');
if (flipped) {
return CondorcetPair._internal(
can2,
firstCandidate,
secondOverFirst,
firstOverSecond,
ties,
);
} else {
return this;
}
}