[Demonstration 1]

[Buggy Method]
public static ArrayList<ArrayList<String>> balanceSheet(String ticker, String periodType) {
    List<String> balanceSheetData;
    String urlToPass = YQL_STATEMENT_BEGIN + BS + YQL_STATEMENT_MID + ticker + "&" + periodType;
    balanceSheetData = retrieveFinancialStatementData(urlToPass, periodType, BS);
    return balanceSheetData;
}

[Buggy Hunk]
List<String> balanceSheetData;

[Patch]
ArrayList<ArrayList<String>> balanceSheetData;

[Demonstration 2]

[Buggy Method]
private IfStatement parseIf(List<String> lines) {
    String firstLine = lines.get(lineIndex++);
    assert firstLine.contains("もしも");
    Block trueBlock = parseBlock(lines, new String[] { "もしくは", "もしおわり" });
    Block falseBlock;
    if (lines.get(lineIndex++).contains("もしくは")) {
        falseBlock = parseBlock(lines, new String[] { "もしおわり" });
    } else {
        falseBlock = new Block();
    }
    return new IfStatement(trueBlock, falseBlock, readCondition(firstLine));
}

[Buggy Hunk]
if (lines.get(lineIndex++).contains("もしくは")) {

[Patch]
if (lineIndex < lines.size() && lines.get(lineIndex++).contains("もしくは")) {

[Demonstration 3]

[Buggy Method]
public List<Synset> loadSynsets(String searchPhrase) {
    List<Synset> synsetsFound = attachedDatabase.searchSynsets(searchPhrase);
    List<Synset> newSynsets = new ArrayList<>();
    for (Synset synset : synsetsFound) {
        if (!synsets.containsKey(synset.getId()) && !removedSynsets.containsKey(synset.getId())) {
            synsets.put(synset.getId(), synset);
            newSynsets.add(synset);
        }
    }
    return newSynsets;
}

[Buggy Hunk]
if (!synsets.containsKey(synset.getId()) && !removedSynsets.containsKey(synset.getId())) {

[Patch]
if (!synsetEdits.containsKey(synset.getId()) && !removedSynsets.containsKey(synset.getId())) {