[Demonstration 1]

[Buggy Method]
private boolean isPasswordChanged(User user) {
    User persistentUser = userService.findByPK(user.getId());
    return !persistentUser.getId().equals(user.getId());
}

[Buggy Hunk]
return !persistentUser.getId().equals(user.getId());

[Patch]
return !persistentUser.getPassword().equals(user.getPassword());

[Demonstration 2]

[Buggy Method]
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    if (mFirebaseAuth.getCurrentUser().isAnonymous()) {
        inflater.inflate(R.menu.anonymous_main_menu, menu);
    } else {
        inflater.inflate(R.menu.main_menu, menu);
    }
    return true;
}

[Buggy Hunk]
if(mFirebaseAuth.getCurrentUser().isAnonymous()){

[Patch]
if(mFirebaseAuth.getCurrentUser() != null && mFirebaseAuth.getCurrentUser().isAnonymous()){

[Demonstration 3]

[Buggy Method]
public long printTopThreeComments(Long ts, boolean printComments, boolean writeToFile, String delimiter) {
    TreeMultimap<Integer, Post> topScoreMap = TreeMultimap.create(Comparator.reverseOrder(), new PostComparator());
    Iterator itr = postScoreMap.entrySet().iterator();
    for (Iterator<Map.Entry<Integer, Long>> it = itr; it.hasNext(); ) {
        Map.Entry<Integer, Long> entry = it.next();
        int score = entry.getKey();
        long id = entry.getValue();
        // System.out.println("Score ID " + score + "  "  + id);
        topScoreMap.put(score, postList.get(id));
    }
    //        Iterator itr2 = topScoreMap.entries().iterator();
    //        for (Iterator<Map.Entry<Integer, Post>> it = itr2 ; it.hasNext(); ) {
    //            Map.Entry<Integer, Post> entry = it.next();
    //            int score = entry.getKey();
    //            long id = entry.getValue().getPostId();
    //            System.out.print("Score ID " + score + "  "  + id + ", ");
    //        }
    //        System.out.println();
    boolean changeFlag = false;
    int i = 0;
    for (Post post : topScoreMap.values()) {
        long id = post.getPostId();
        if (previousOrderedTopThree[i] == null || previousOrderedTopThree[i] != id) {
            changeFlag = true;
            previousOrderedTopThree[i] = id;
        }
        i++;
        if (i == 3) {
            break;
        }
    }
    for (; i < 3; i++) {
        if (previousOrderedTopThree[i] != null) {
            previousOrderedTopThree[i] = null;
            changeFlag = true;
        }
    }
    try {
        if (changeFlag) {
            builder.setLength(0);
            DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
            df.setTimeZone(TimeZone.getTimeZone("GMT"));
            String fmm = df.format(new java.util.Date(ts));
            builder.append(fmm + delimiter);
            for (int k = 0; k < 3; k++) {
                if (this.previousOrderedTopThree[k] != null) {
                    Post post = postList.get(this.previousOrderedTopThree[k]);
                    builder.append(this.previousOrderedTopThree[k] + delimiter);
                    builder.append(postList.get(this.previousOrderedTopThree[k]).getUserName() + delimiter);
                    builder.append(post.updateScore(ts) + delimiter);
                    builder.append(post.getNumberOfCommenters());
                } else {
                    builder.append("-, -, -, -");
                }
                if (k != 2) {
                    builder.append(delimiter);
                }
            }
            builder.append("\n");
            if (printComments) {
                System.out.print(builder.toString());
            }
            if (writeToFile) {
                writer.write(builder.toString());
            }
            return System.currentTimeMillis();
        }
    } catch (IOException ex) {
        ex.printStackTrace();
    }
    return -1L;
}

[Buggy Hunk]
builder.append(post.updateScore(ts) + delimiter);

[Patch]
builder.append(post.getTotalScore() + delimiter);