[Demonstration 1]

[Buggy Method]
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (item.isChecked() || item.getItemId() != R.id.sort) {
        Collections.reverse(mRoster);
    } else {
        switch(id) {
            case R.id.sort:
                handleMenuCheckboxes(mOptionsMenu);
                return super.onOptionsItemSelected(item);
            case R.id.roster_sort_by_name:
                sortRosterByName(mRoster);
                break;
            case R.id.roster_sort_by_number:
                sortRosterByNumber(mRoster);
                break;
            case R.id.roster_sort_by_position:
                sortRosterByPosition(mRoster);
                break;
            default:
                sortRosterByName(mRoster);
        }
    }
    FragmentTeamRoster.ca.updateList(mRoster);
    return super.onOptionsItemSelected(item);
}

[Buggy Hunk]
if (item.isChecked() || item.getItemId() != R.id.sort) {

[Patch]
if (item.isChecked() && item.getItemId() != R.id.sort) {

[Demonstration 2]

[Buggy Method]
public static void onStartup() throws IOException, ClassNotFoundException {
    File file = new File(FILENAME);
    boolean exist = true;
    try {
        if (file.createNewFile())
            exist = true;
    } catch (IOException e) {
    }
    if (exist) {
        FileInputStream fis = new FileInputStream(file);
        try {
            ObjectInputStream ois = new ObjectInputStream(fis);
            persons = (PersonList) ois.readObject();
            ois.close();
        } catch (EOFException e) {
            System.out.println("no list in file");
            persons = new PersonList();
        }
        fis.close();
    } else {
        persons = new PersonList();
    }
}

[Buggy Hunk]
if (file.createNewFile()) exist = true;

[Patch]
if (file.createNewFile()) exist = false;

[Demonstration 3]

[Buggy Method]
public IReferenceValuePresence getOpposite() {
    IReferenceValuePresence result = null;
    EReference opposite = getFeature().getEOpposite();
    if (opposite != null) {
        IMatch valueMatch = getValueMatch();
        if (valueMatch != null) {
            result = valueMatch.getReferenceValueDifference(opposite, getElementMatch());
        }
    }
    return result;
}

[Buggy Hunk]
getElementMatch());

[Patch]
getElementMatch().get(getPresenceRole()));