[Demonstration 1]

[Buggy Method]
@Override
public void updateItem(Task task, boolean empty) {
    super.updateItem(task, empty);
    if (empty) {
        setGraphic(null);
    } else {
        if (this.task == null) {
            if (task.isLiving()) {
                setUpLiving(task);
            } else {
                setUpDead();
            }
        }
        taskNameText.textProperty().bind(task.nameProperty());
        taskTimerText.textProperty().bind(task.timeLengthFormattedProperty());
        setGraphic(container);
    }
}

[Buggy Hunk]
if (empty) {

[Patch]
if (empty || task == null) {

[Demonstration 2]

[Buggy Method]
@Transactional
public UGSemesterFeeResponse payFee(UGFees fees, Parameter.ParameterName pType, String pStudentId, Integer pSemesterId) {
    Optional<LateFee> lateFee = fees.getUGLateFee();
    Date transactionValid = lateFee.isPresent() ? lateFee.get().getTo() : getTransactionValidTill(pType, pSemesterId);
    List<MutableStudentPayment> payments = new ArrayList<>();
    for (UGFee fee : fees.getUGFees()) {
        payments.add(createPayment(fee, pStudentId, pSemesterId, transactionValid));
    }
    if (lateFee.isPresent()) {
        payments.add(createPayment(lateFee.get(), pStudentId, pSemesterId, transactionValid));
    }
    getStudentPaymentManager().create(payments);
    return UGSemesterFeeResponse.APPLIED;
}

[Buggy Hunk]
public UGSemesterFeeResponse payFee(UGFees fees, Parameter.ParameterName pType, String pStudentId, Integer pSemesterId) {

[Patch]
UGSemesterFeeResponse payFee(UGFees fees, Parameter.ParameterName pType, String pStudentId, Integer pSemesterId) {

[Demonstration 3]

[Buggy Method]
private void saveCase() {
    final HashMap<String, String> data = new HashMap<>();
    String vin = _vin.getText().toString();
    String caseName = vin;
    if (vin.equals(getResources().getString(R.string.no_vin_found))) {
        caseName = generateCaseName();
        vin = "";
    }
    data.put("make", String.valueOf(_make.getText()));
    data.put("model", String.valueOf(_model.getText()));
    data.put("vin", vin);
    data.put("case_name", caseName);
    View v = findViewById(R.id.veh_plate);
    if (null != v)
        data.put("plate", String.valueOf(((EditText) v).getText()));
    v = findViewById(R.id.veh_build);
    if (null != v)
        data.put("build", String.valueOf(((EditText) v).getText()));
    v = findViewById(R.id.veh_milage);
    if (null != v)
        data.put("millage", String.valueOf(((EditText) v).getText()));
    v = findViewById(R.id.veh_arrival);
    if (null != v)
        data.put("arrival_type", ((Spinner) v).getSelectedItemPosition() + "");
    v = findViewById(R.id.veh_action);
    if (null != v)
        data.put("veh_action", ((Spinner) v).getSelectedItemPosition() + "");
    v = findViewById(R.id.note);
    if (null != v) {
        data.put("note", String.valueOf(((EditText) v).getText()));
    }
    data.put("company_id", String.valueOf(_assignToCompanyId));
    data.put("case_open_company_id", String.valueOf(_session.getCompanyId()));
    final CaseUploadTask task = new CaseUploadTask(data);
    task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}

[Buggy Hunk]
final CaseUploadTask task = new CaseUploadTask(data);

[Patch]
final CaseUploadAsyncTask task = new CaseUploadAsyncTask(data);