[Demonstration 1]

[Buggy Method]
@Override
public boolean equals(Object other) {
    if (other instanceof TraitFrameworkMethod) {
        TraitFrameworkMethod that = (TraitFrameworkMethod) other;
        return super.equals(other) && this.testSubject.equals(that.testSubject);
    }
    return false;
}

[Buggy Hunk]
return super.equals(other) && this.testSubject.equals(that.testSubject);

[Patch]
return super.equals(other) && this.traitTestSubjectCreationMethod.equals(that.traitTestSubjectCreationMethod);

[Demonstration 2]

[Buggy Method]
private void skipToValidElement() {
    while (iterator.hasNext()) {
        WindowedValue<V> peek = iterator.peek();
        if (!peek.getTimestamp().isBefore(window.maxTimestamp())) {
            // We are past the end of this window, so there can't be any more
            // elements in this iterator.
            break;
        }
        if (!(peek.getWindows().size() == 1 && peek.getWindows().contains(window))) {
            // We have reached new windows; we need to copy the iterator so we don't
            // keep advancing the outer loop in processElement.
            iterator = iterator.copy();
        }
        if (!peek.getWindows().contains(window)) {
            // The next element is not in the right window: skip it.
            iterator.next();
        } else {
            // The next element is in the right window.
            break;
        }
    }
}

[Buggy Hunk]
if (!peek.getTimestamp().isBefore(window.maxTimestamp())) {

[Patch]
if (peek.getTimestamp().isAfter(window.maxTimestamp())) {

[Demonstration 3]

[Buggy Method]
@Override
public void onDateSet(DatePickerDialog view, final int year, int monthOfYear, int dayOfMonth) {
    String month = String.valueOf(monthOfYear + 1), day = String.valueOf(dayOfMonth);
    final String to_search;
    if (monthOfYear < 10)
        month = "0" + (monthOfYear + 1);
    if (dayOfMonth < 10)
        day = "0" + dayOfMonth;
    to_search = month + "/" + day;
    CharSequence[] choice_list = new CharSequence[3];
    choice_list[0] = "Day of month : " + to_search;
    choice_list[1] = "Year : " + year;
    choice_list[2] = "Entire Date";
    new MaterialDialog.Builder(this).title("What to search?").theme(Theme.DARK).items(choice_list).autoDismiss(false).itemsCallbackSingleChoice(-1, new MaterialDialog.ListCallbackSingleChoice() {

        @Override
        public boolean onSelection(MaterialDialog dialog, View view, int which, CharSequence text) {
            Log.e("TAG", String.valueOf(which));
            switch(which) {
                case 0:
                    dialog.dismiss();
                    new RunSearchTask(which).execute(to_search);
                    break;
                case 1:
                    dialog.dismiss();
                    new RunSearchTask(which).execute(String.valueOf(year));
                    break;
                case 2:
                    dialog.dismiss();
                    new RunSearchTask(which, String.valueOf(year)).execute(to_search);
                    break;
                default:
                    Snackbar.make(mCoordinator, "Select something to search for", Snackbar.LENGTH_SHORT).setAction("DISMISS", null).show();
                    break;
            }
            return true;
        }
    }).positiveText("Choose").show();
}

[Buggy Hunk]
if(monthOfYear < 10)

[Patch]
if((monthOfYear+1) < 10)