[Demonstration 1]

[Buggy Method]
public void reset() {
    new File(SAVE_PATH + SAVE_FILE).delete();
}

[Buggy Hunk]
new File(SAVE_PATH + SAVE_FILE).delete();

[Patch]
noSaveFile = true;

[Demonstration 2]

[Buggy Method]
public Quest parse(final Document html) {
    final Quest quest = new Quest();
    final String url = html.select("link[rel=canonical]").attr("href");
    final String idStr = getRegexGroup(url, "/quest=([0-9]+)/", 1).get();
    quest.setId(Integer.parseInt(idStr));
    final Element mainContainer = html.select("#main-contents div.text").first();
    final Element questName = html.select("h1.heading-size-1").first();
    quest.setName(questName.text());
    parseCategory(quest, html);
    parseObjectives(quest, mainContainer, questName);
    parseQuestText(quest, mainContainer, html);
    parseMoney(quest, mainContainer);
    parseRewards(quest, mainContainer);
    parseGains(quest, mainContainer);
    parseInfobox(quest, html);
    parseSeries(quest, html);
    return quest;
}

[Buggy Hunk]
parseSeries(quest, html);

[Patch]
parseSeries(quest, mainContainer);

[Demonstration 3]

[Buggy Method]
public IReferenceValuePresence getOpposite() {
    IReferenceValuePresence result = null;
    EReference opposite = getFeature().getEOpposite();
    if (opposite != null) {
        IMatch valueMatch = getValueMatch();
        if (valueMatch != null) {
            result = valueMatch.getReferenceValueDifference(opposite, getElementMatch());
        }
    }
    return result;
}

[Buggy Hunk]
getElementMatch());

[Patch]
getElementMatch().get(getPresenceRole()));