[Demonstration 1]

[Buggy Method]
public void addResult(Integer id, Integer unitId, Type type, RoundingMethod roundingMethod, Integer significantDigits, String value, String dictEntry) throws Exception {
    Item item;
    ArrayList<Item> list;
    if (unitId == null)
        unitId = 0;
    //
    // default is special, there is just one per unit id
    //
    if (type == Type.DEFAULT) {
        defaults.put(unitId, value);
        return;
    }
    item = new Item();
    item.id = id;
    item.type = type;
    item.roundingMethod = roundingMethod;
    item.significantDigits = significantDigits;
    switch(type) {
        case DICTIONARY:
            ResultRangeDictionary d;
            d = new ResultRangeDictionary();
            d.setRange(dictEntry);
            d.setId(new Integer(value));
            item.value = d;
            break;
        case NUMERIC:
            item.value = new ResultRangeNumeric();
            item.value.setRange(value);
            hasOnlyDictionary = false;
            break;
        case TITER:
            item.value = new ResultRangeTiter();
            item.value.setRange(value);
            hasOnlyDictionary = false;
            break;
        case DATE:
            item.value = new ResultRangeDate();
            item.value.setRange(value);
            hasOnlyDictionary = false;
            break;
        case DATE_TIME:
            item.value = new ResultRangeDateTime();
            item.value.setRange(value);
            hasOnlyDictionary = false;
            break;
        case TIME:
            item.value = new ResultRangeTime();
            item.value.setRange(value);
            hasOnlyDictionary = false;
            break;
        case ALPHA_LOWER:
            item.value = new ResultRangeAlpha(ResultRangeAlpha.Type.LOWER);
            item.value.setRange(value);
            hasOnlyDictionary = false;
            break;
        case ALPHA_MIXED:
            item.value = new ResultRangeAlpha(ResultRangeAlpha.Type.MIXED);
            item.value.setRange(value);
            hasOnlyDictionary = false;
            break;
        case ALPHA_UPPER:
            item.value = new ResultRangeAlpha(ResultRangeAlpha.Type.UPPER);
            item.value.setRange(value);
            hasOnlyDictionary = false;
            break;
    }
    list = getUnits(unitId);
    if (list == null) {
        list = new ArrayList<Item>();
        units.put(unitId, list);
    }
    list.add(item);
}

[Buggy Hunk]
list = getUnits(unitId);

[Patch]
list = units.get(unitId);

[Demonstration 2]

[Buggy Method]
private void setLanguageLogo(ViewHolder viewHolder, JSONArray programs) {
    for (int i = 0; i < programs.length(); i++) {
        try {
            JSONObject jsonObject = programs.getJSONObject(i);
            if (jsonObject.getString("name").equals("icon.png") && jsonObject.getString("type").equals(FILE.getValue())) {
                String url = jsonObject.getString("url");
                String response = sharedPreferences.getString(url, null);
                if (Objects.nonNull(response)) {
                    getLogoResponseCallback(url, true, viewHolder).accept(response);
                } else {
                    new GithubAPIClient(activity, getProgramsResponseCallback(url, false, viewHolder)).execute(withAccessToken(url));
                }
            }
        } catch (JSONException e) {
            Log.e(TAG, e.getMessage());
            viewHolder.languageImageView.setImageResource(R.drawable.ic_circle_logo);
        }
    }
}

[Buggy Hunk]
new GithubAPIClient(activity, getProgramsResponseCallback(url, false, viewHolder))

[Patch]
new GithubAPIClient(activity, getLogoResponseCallback(url, false, viewHolder))

[Demonstration 3]

[Buggy Method]
public String getContactPersonEmail() {
    if (client != null) {
        return contactSameAsClient == 1 ? client.getEmail() : contactPersonPhoneNumber;
    }
    return contactPersonEmail;
}

[Buggy Hunk]
return contactSameAsClient==1?client.getEmail():contactPersonPhoneNumber;

[Patch]
return contactSameAsClient==1?client.getEmail():contactPersonEmail;