[Demonstration 1]

[Buggy Method]
public boolean updateProjectRelease(ProjectRelease release) {
    boolean found = false;
    List<ProjectRelease> releases = getProjectReleases();
    for (int i = 0; i < releases.size(); i++) {
        ProjectRelease projectRelease = releases.get(i);
        if (release.getRepository() != null && release.getRepository().equals(projectRelease.getRepository())) {
            release.setRepository(projectRelease.getRepository());
        }
        if (projectRelease.getVersion().equals(release)) {
            releases.set(i, release);
            found = true;
            break;
        }
    }
    if (!found) {
        releases.add(release);
    }
    release.replaceVersionPattern();
    return found;
}

[Buggy Hunk]
if (projectRelease.getVersion().equals(release)) {

[Patch]
if (projectRelease.getVersion().equals(release.getVersion())) {

[Demonstration 2]

[Buggy Method]
public void stopDirectoryWatching() {
    if (getRootDirectory() != null && getRootDirectory().exists()) {
        scheduleWithFixedDelay.cancel(true);
    }
}

[Buggy Hunk]
if (getRootDirectory() != null && getRootDirectory().exists()) {

[Patch]
if (getRootDirectory() != null && getRootDirectory().exists() && scheduleWithFixedDelay != null) {

[Demonstration 3]

[Buggy Method]
private void setItinerary(List<HomeItinerary> homeItineraries) {
    HomeItineraryAdapter homeItineraryAdapter = new HomeItineraryAdapter(homeItineraries, getContext());
    LinearLayoutManager horizontalLayoutManagaer = new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false);
    recyclerItinerary.setLayoutManager(horizontalLayoutManagaer);
    recyclerItinerary.setAdapter(homeItineraryAdapter);
}

[Buggy Hunk]
private void setItinerary(List<HomeItinerary> homeItineraries) {

[Patch]
private void setItinerary(final List<HomeItinerary> homeItineraries) {