[Demonstration 1]

[Buggy Method]
private void initStartPage() {
    final ERVirtualDiagram vdiagram = diagram.getCurrentVirtualDiagram();
    if (vdiagram != null) {
        setActivePage(1);
    } else {
        setActivePage(0);
    }
    final MainDiagramEditor activeEditor = (MainDiagramEditor) getActiveEditor();
    final ZoomManager zoomManager = (ZoomManager) activeEditor.getAdapter(ZoomManager.class);
    zoomManager.setZoom(diagram.getZoom());
    activeEditor.setLocation(diagram.getX(), diagram.getY());
}

[Buggy Hunk]
setActivePage(1);

[Patch]
setActivePage(getPageIndex(vdiagram));

[Demonstration 2]

[Buggy Method]
@Override
protected List<TeamAnalysis> doInBackground(Object... data) {
    Elements elements = doc.select("a.name");
    Map<String, List<String>> players = new HashMap<String, List<String>>();
    ParseRankings.handleHashes();
    for (Element elem : elements) {
        String playerName = ParseRankings.fixDefenses(ParseRankings.fixNames(elem.text()));
        String team = "";
        Elements parent = elem.parent().parent().parent().parent().parent().parent().parent().parent().children();
        for (Element children : parent) {
            if (children.children().size() > 0) {
                Element child = parent.get(0);
                team = child.text();
                String[] teamSet = team.split(" ");
                StringBuilder teamBuilder = new StringBuilder(40);
                for (String teamIter : teamSet) {
                    teamBuilder.append(ManageInput.capitalize(teamIter) + " ");
                }
                String intermediate = teamBuilder.toString().replaceAll("[^a-zA-Z0-9\\s]", "");
                team = (intermediate.substring(0, intermediate.length() - 1) + "@@@" + child.child(0).html());
            }
        }
        if (players.containsKey(team)) {
            List<String> tempList = players.get(team);
            tempList.add(playerName);
            players.put(team, tempList);
        } else {
            List<String> newList = new ArrayList<String>();
            newList.add(playerName);
            players.put(team, newList);
        }
    }
    Set<String> teamNames = players.keySet();
    List<TeamAnalysis> teamSet = new ArrayList<TeamAnalysis>();
    Roster r = ReadFromFile.readRoster(cont, "");
    for (String team : teamNames) {
        List<String> onTeam = players.get(team);
        List<String> qbs = new ArrayList<String>();
        List<String> rbs = new ArrayList<String>();
        List<String> wrs = new ArrayList<String>();
        List<String> tes = new ArrayList<String>();
        List<String> def = new ArrayList<String>();
        List<String> ks = new ArrayList<String>();
        StringBuilder qb = new StringBuilder(1000);
        StringBuilder rb = new StringBuilder(1000);
        StringBuilder wr = new StringBuilder(1000);
        StringBuilder te = new StringBuilder(1000);
        StringBuilder d = new StringBuilder(1000);
        StringBuilder k = new StringBuilder(1000);
        team = team.split("@@@")[0];
        qb.append("Quarterbacks: ");
        rb.append("Running Backs: ");
        wr.append("Wide Receivers: ");
        te.append("Tight Ends: ");
        d.append("D/ST: ");
        k.append("Kickers: ");
        for (String member : onTeam) {
            for (PlayerObject player : holder.players) {
                if (player.info.name.equals(member)) {
                    if (player.info.position.equals("QB")) {
                        qbs.add(member);
                    }
                    if (player.info.position.equals("RB")) {
                        rbs.add(member);
                    }
                    if (player.info.position.equals("WR")) {
                        wrs.add(member);
                    }
                    if (player.info.position.equals("TE")) {
                        tes.add(member);
                    }
                    if (player.info.position.equals("D/ST")) {
                        def.add(member);
                    }
                    if (player.info.position.equals("K")) {
                        ks.add(member);
                    }
                    break;
                }
            }
        }
        if (qbs.size() == 0) {
            qb.append("None Selected\n");
        } else {
            for (String name : qbs) {
                qb.append(name + ", ");
            }
        }
        if (rbs.size() == 0) {
            rb.append("None Selected\n");
        } else {
            for (String name : rbs) {
                rb.append(name + ", ");
            }
        }
        if (wrs.size() == 0) {
            wr.append("None Selected\n");
        } else {
            for (String name : wrs) {
                wr.append(name + ", ");
            }
        }
        if (tes.size() == 0) {
            te.append("None Selected\n");
        } else {
            for (String name : tes) {
                te.append(name + ", ");
            }
        }
        if (def.size() == 0) {
            d.append("None Selected\n");
        } else {
            for (String name : def) {
                d.append(name + ", ");
            }
        }
        if (ks.size() == 0) {
            k.append("None Selected\n");
        } else {
            for (String name : ks) {
                k.append(name + ", ");
            }
        }
        String qbStr = qb.toString();
        if (!qbStr.contains("None Selected")) {
            qbStr = qbStr.substring(0, qbStr.length() - 2) + "\n";
        }
        String rbStr = rb.toString();
        if (!rbStr.contains("None Selected")) {
            rbStr = rbStr.substring(0, rbStr.length() - 2) + "\n";
        }
        String wrStr = wr.toString();
        if (!wrStr.contains("None Selected")) {
            wrStr = wrStr.substring(0, wrStr.length() - 2) + "\n";
        }
        String teStr = te.toString();
        if (!teStr.contains("None Selected")) {
            teStr = teStr.substring(0, teStr.length() - 2) + "\n";
        }
        String dStr = d.toString();
        if (!dStr.contains("None Selected")) {
            dStr = dStr.substring(0, dStr.length() - 2) + "\n";
        }
        String kStr = k.toString();
        if (!kStr.contains("None Selected")) {
            kStr = kStr.substring(0, kStr.length() - 2) + "\n";
        }
        TeamAnalysis teamObj = new TeamAnalysis(team, qbStr + rbStr + wrStr + teStr + dStr + kStr, holder, cont, r);
        System.out.println("Adding teamObj: " + teamObj.team.length() + ", " + team);
        teamSet.add(teamObj);
    }
    return teamSet;
}

[Buggy Hunk]
.parent().parent().parent().parent().children();

[Patch]
.parent().parent().parent().children();

[Demonstration 3]

[Buggy Method]
public static void setPartyFilter(String selectedParty) {
    if (selectedParty != null) {
        ourInstance.selectedParty = selectedParty;
    } else {
        ourInstance.selectedParty = "";
    }
}

[Buggy Hunk]
if (selectedParty != null) {

[Patch]
if (selectedParty != null && !selectedParty.equals(ALL_PARTIES_LABEL)) {