// Finishing with another really nice example.
$myVote5 = new Vote(array(1 => $election1->getCandidateObjectByName('Debussy'), 2 => $election1->getCandidateObjectByName('Olivier Messiaen'), 3 => [$election1->getCandidateObjectByName('Wiltod Lutoslawski'), $election1->getCandidateObjectByName('Ligeti')], 4 => $election1->getCandidateObjectByName('Koechlin'), 5 => $election1->getCandidateObjectByName('Caplet')));
$myVote5->addTags('jusGreatVote');
$election1->addVote($myVote5);
// Please note that :
$election1->getCandidateObjectByName('Olivier Messiaen') === $myMessiaenCandidate;
// Return TRUE
// Add some nice tags to my Vote 1 & 2 & 3 (You can do this before or after add register into to the Election)
$myVote1->addTags(['strangeVote', 'greatFrenchVote']);
// By Array
$myVote2->addTags('greatFrenchVote,chauvinismVote');
// By String
$myVote3->addTags($myVote1->getTags());
// Copy & Past
// Parsing Vote
$election1->parseVotes("\n            Ligeti > Wiltod Lutoslawski > Olivier Messiaen = Debussy > Koechlin # A comment. A a line break for the next vote.\n            greatFrenchVote,chauvinismVote || Olivier Messiaen > Debussy = Caplet > Ligeti # Tags at first, vote at second, separated by '||'\n            strangeVote || Caplet > Koechlin * 8 # This vote and his tag will be register 8 times.\n        ");
// Adding some random to this election
$VoteModel = $myVote2->getRanking();
for ($i = 0; $i < 95; $i++) {
    shuffle($VoteModel);
    $election1->addVote($VoteModel);
}
// How Many Vote could I Have now ?
$election1->countVotes();
// Return 110 (int)
# -B- Manage Votes
# 1- Get vote list
// Get the vote list
$election1->getVotesList();
// Returns an array of all votes as object.
// How many Vote with tag "strangeVote" ?