public static ArrayList<String> getVoteSummary(Proposal proposal) {
        // Create an index of options -> numVotes
        Map<Integer, Integer> voteCount = new HashMap<Integer, Integer>();
        VoteModel voteModel = new VoteModel();

        for (Integer i : proposal.getVotes()) {
            Vote vote = (Vote) voteModel.get(i);
            if (voteCount.containsKey(vote.getOptionID())) {
                Integer num = voteCount.get(vote.getOptionID());
                voteCount.put(vote.getOptionID(), new Integer(++num));
            } else {
                voteCount.put(vote.getOptionID(), new Integer(1));
            }
        }

        ArrayList<String> results = new ArrayList<String>();

        // Loop through the index and find which key has the highest value
        for (Integer option : voteCount.keySet()) {
            results.add(proposal.getOptions().get(option) + " had " + voteCount.get(option) + " votes");
        }
        return results;
    }