private void getVotes(Document doc, FWYear yearVotes) {
        Elements elements = doc.select("tr");
        for (Element e : elements) {
            String legIdStr = e.attr("rel").trim();
            if (legIdStr.isEmpty()) {
                continue;
            }
            int lid = Integer.parseInt(legIdStr);
            FWLegislator legislator = yearVotes.getLegislator(Integer.parseInt(legIdStr));
            if (legislator == null) {
                legislator = new FWLegislator(lid);
                yearVotes.putLegislator(lid, legislator);
            }

            for (Element ee : e.select("td")) {
                String eeClass = ee.attr("class");
                if (eeClass.equals("legislator clear-block")) {
                    String role = ee.select("span").first().text();
                    String name = ee.select("a").first().text().replaceAll(role, "");
                    legislator.addProperty(FWLegislator.ROLE, role);
                    legislator.addProperty(FWLegislator.NAME, name);
                } else if (eeClass.equals("votes")) {
                    for (Element eea : ee.select("a")) {
                        FWVote.VoteType vt = FWVote.getVoteType(eea.attr("class"));
                        int bid = Integer.parseInt(eea.attr("rel"));
                        FWBill bill = yearVotes.getBill(bid);

                        FWVote vote = new FWVote(legislator, bill, year, vt);
                        yearVotes.addVote(lid, vote);
                    }
                } else if (eeClass.equals("score")) {
                    String scoreStr = ee.select("span").first().text();

                    int score = FWYear.NA_SCORE;
                    if (!scoreStr.equals("N/A")) {
                        score = Integer.parseInt(ee.select("span").first().text());
                    }
                    yearVotes.putLegislatorScore(lid, score);
                }
            }
        }
    }