[Demonstration 1]

[Buggy Method]
public void execute(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
    int count = selection.size();
    int deleted = 1;
    monitor.beginTask("deleting #" + deleted + " of " + count + " markers.", count);
    for (Iterator iter = selection.iterator(); iter.hasNext(); ) {
        IMarker marker = (IMarker) iter.next();
        try {
            marker.delete();
            monitor.worked(1);
            deleted++;
            monitor.setTaskName("deleting #" + deleted + " of " + count + " markers.");
        } catch (CoreException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    monitor.done();
}

[Buggy Hunk]
public void execute(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {

[Patch]
public void execute(IProgressMonitor monitor) {

[Demonstration 2]

[Buggy Method]
int getPlayTimeUpdateTime() {
    return config.getInt("PlaytimeUpdateInMinutes");
}

[Buggy Hunk]
return config.getInt("PlaytimeUpdateInMinutes");

[Patch]
return getOrSetDefault("PlaytimeUpdateInMinutes",2);

[Demonstration 3]

[Buggy Method]
private void initViews() {
    IPicker.setLimit(5);
    Button button = (Button) findViewById(R.id.open_picker);
    button.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            IPicker.open(getApplicationContext(), selectPictures);
        }
    });
    adapter = new SelectedAdapter(getApplicationContext(), selectPictures);
    recyclerView = (RecyclerView) findViewById(R.id.rv_photos);
    recyclerView.setLayoutManager(new GridLayoutManager(getApplicationContext(), 4, GridLayoutManager.VERTICAL, false));
    recyclerView.setAdapter(adapter);
}

[Buggy Hunk]
IPicker.setLimit(5);

[Patch]
IPicker.setLimit(1);