[Demonstration 1]

[Buggy Method]
public void setEntity(String entityName, String entityValue) {
    ArrayList<EntityHolder> dataList = getDataListFromDataArray(mData);
    if (dataList.contains(entityName)) {
        dataList = updateDataList(dataList, entityName, entityValue);
    } else {
        dataList.add(new EntityHolder(entityName, entityValue));
    }
    mData = dataList.toArray(new EntityHolder[dataList.size()]);
}

[Buggy Hunk]
if (dataList.contains(entityName)) {

[Patch]
if (isListContains(dataList, entityName)) {

[Demonstration 2]

[Buggy Method]
public boolean isStarted() {
    return !stop;
}

[Buggy Hunk]
return !stop;

[Patch]
return !stop && !(writerThread.getState() == Thread.State.WAITING);

[Demonstration 3]

[Buggy Method]
private static <K, V> List<MapDiff<K, V>> mapDiff(final Map<K, V> old, final Map<K, V> nev) {
    List<MapDiff<K, V>> res = old.entrySet().stream().map(e -> new MapDiff<>(e.getKey(), e.getValue(), nev.get(e.getKey()))).collect(toList());
    List<MapDiff<K, V>> res2 = nev.entrySet().stream().filter(e -> !old.containsKey(e.getKey())).map(e -> new MapDiff<>(e.getKey(), null, e.getValue())).collect(toList());
    res.addAll(res);
    return res;
}

[Buggy Hunk]
res.addAll(res);

[Patch]
res.addAll(res2);