[Demonstration 1]

[Buggy Method]
public void add(Task t) throws BusinessException, SystemException {
    // First, we make sure that the task DNE. Else throw BusinessException
    int taskId = 0;
    while (taskDNE(taskId)) taskId++;
    Task newTask = new Task(taskId);
    newTask.clone(t);
    taskMap.put(newTask.getId(), newTask);
}

[Buggy Hunk]
while(taskDNE(taskId))

[Patch]
while(!taskIdDNE(taskId))

[Demonstration 2]

[Buggy Method]
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    recyclerView.setHasFixedSize(true);
    // use a linear layout manager
    LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
    recyclerView.setLayoutManager(layoutManager);
    List<String> data = new ArrayList<String>();
    for (int i = 0; i < 1000; i++) {
        data.add("Item #" + (i + 1));
    }
    adapter = new RecyclerAdapter(data);
    recyclerView.setAdapter(adapter);
    ItemClickSupport itemClickSupport = ItemClickSupport.addTo(recyclerView);
}

[Buggy Hunk]
adapter = new RecyclerAdapter(data);

[Patch]
adapter = new RecyclerAdapter(getActivity(), data);

[Demonstration 3]

[Buggy Method]
public Tuple deserialize(byte[] ser) {
    try {
        _kryoInput.setBuffer(ser);
        int taskId = _kryoInput.readInt(true);
        int streamId = _kryoInput.readInt(true);
        String componentName = _context.getComponentId(taskId);
        String streamName = _ids.getStreamName(componentName, streamId);
        MessageId id = MessageId.deserialize(_kryoInput);
        List<Object> values = _kryo.deserializeFrom(_kryoInput);
        return new TupleImpl(_context, values, taskId, streamName, id);
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}

[Buggy Hunk]
public Tuple deserialize(byte[] ser) {

[Patch]
synchronized public Tuple deserialize(byte[] ser) {