[Demonstration 1]

[Buggy Method]
public JavaPairRDD<Long, String> getNgrams(JavaRDD<SimpleRecord> inputRecordsRdd) {
    // add document ids to records
    JavaPairRDD<SimpleRecord, Long> inputRecordsWithIds = inputRecordsRdd.zipWithIndex();
    JavaPairRDD<Long, String> ngrams = inputRecordsWithIds.flatMapToPair(recordPair -> {
        SimpleRecord record = recordPair._1;
        Long id = recordPair._2;
        // Split document string to words and make lowercase
        String[] words = record.get(textFieldName).toString().toLowerCase().split(tokenizationString);
        ArrayList<String> document = new ArrayList<String>(Arrays.asList(words));
        // Parse ngrams out of list of strings
        List<Tuple2<Long, String>> pairs = Lists.newArrayList();
        for (int i = 0; i < (document.size() - ngramSize); i++) {
            String ngram = String.join(" ", document.subList(i, i + ngramSize));
            pairs.add(new Tuple2<Long, String>(id, ngram));
        }
        return pairs;
    });
    return ngrams;
}

[Buggy Hunk]
for (int i = 0; i < (document.size() - ngramSize); i++) {

[Patch]
for (int i = 0; i <= (document.size() - ngramSize); i++) {

[Demonstration 2]

[Buggy Method]
public void displayPage() {
    System.out.println("Your favorites are:");
    for (T favorite : favorites) {
        System.out.println("\t" + favorite.getName());
    }
    System.out.println("\nType \'" + DELETE_FAVORITE_ITEM + " <name>\' to delete an entry from your favorites,\n" + "or type \'" + VIEW_FAVORITE_ITEM + " <name>\' to view more information about a specific entry.");
}

[Buggy Hunk]
for (T favorite : favorites) {

[Patch]
for (T favorite : getFavorites.apply(null)) {

[Demonstration 3]

[Buggy Method]
private String getLongestCommonPropertyName(String property1, String property2) {
    BiMap<String, Character> partsToLettersMap = HashBiMap.create();
    String seq1 = getCharacterSequence(property1, partsToLettersMap);
    String seq2 = getCharacterSequence(property2, partsToLettersMap);
    String longestCommonSubsequence = getLongestCommonSubsequence(seq1, seq2);
    String longestCommonPropertyName = "";
    for (int i = 0; i < longestCommonSubsequence.length(); i++) {
        longestCommonPropertyName += partsToLettersMap.inverse().get(longestCommonSubsequence.charAt(i));
        if (i < longestCommonPropertyName.length() - 1) {
            longestCommonPropertyName += "_";
        }
    }
    return longestCommonPropertyName;
}

[Buggy Hunk]
if (i < longestCommonPropertyName.length() - 1) {

[Patch]
if (i < longestCommonSubsequence.length() - 1) {