public DnDSimplePluralityResult(DnDElection election) {
		winners = new ArrayList<Option>();
		ArrayList<String> maxGUID = new ArrayList<String>();
		Integer maxVotes = 0;
		Map<String, Integer> votemap = new HashMap<String, Integer>();

		for (Vote v : election.getVotes()) {

			if (!(v instanceof OneOfNVote)) {
				//throw new RuntimeException("Wrong vote type. Error.");
                continue;
            }

			OneOfNVote vote = (OneOfNVote) v;
			String GUID = vote.getCandidateGUID();
			Integer res = votemap.get(GUID);

			if (res == null) {
				votemap.put(GUID, res = 1);
			} else {
				votemap.put(GUID, res + 1);
			}

			if (res > maxVotes) {
				maxVotes = res;
				maxGUID.clear();
				maxGUID.add(GUID);
			} else if (res == maxVotes)
				maxGUID.add(GUID);
		}

		for (String GUID : maxGUID) {
			for (Candidate u : election.getCandidates())
				if (u.getGUID().equals(GUID))
					winners.add(u);
		}
	}