[Demonstration 1]

[Buggy Method]
private void restoreJourneyFromId(String id) {
    if (id == null) {
        return;
    }
    mJourney = mRealm.where(Journey.class).equalTo(Journey.FIELD_ID, mJourneyId).findFirst();
    // Check to make sure the mJourney exist.
    if (mJourney == null) {
        return;
    }
    mJourneyId = id;
    mStartMarkerPosition = new LatLng(mJourney.getStartLocation().getLatitude(), mJourney.getStartLocation().getLongitude());
    mEndMarkerPosition = new LatLng(mJourney.getEndLocation().getLatitude(), mJourney.getEndLocation().getLongitude());
    // mMap is used to show journey details.
    mIsJourneyDetails = true;
}

[Buggy Hunk]
mJourney = mRealm.where(Journey.class).equalTo(Journey.FIELD_ID, mJourneyId).findFirst();

[Patch]
mJourney = mRealm.where(Journey.class).equalTo(Journey.FIELD_ID, id).findFirst();

[Demonstration 2]

[Buggy Method]
@Override
public void onDataChange(DataSnapshot snapshot) {
    Iterable<DataSnapshot> items = snapshot.getChildren();
    double amount = 0.0;
    List<String> itemKeys = new ArrayList<String>();
    Map<String, DataSnapshot> itemData = new HashMap<String, DataSnapshot>();
    for (DataSnapshot item : items) {
        itemKeys.add(item.getKey());
        itemData.put(item.getKey(), item);
    }
    for (String k : fCart) {
        if (itemKeys.contains(k)) {
            Map<String, Object> vals = (Map<String, Object>) itemData.get(k).getValue();
            amount += Double.parseDouble(vals.get("price").toString());
        }
    }
    pay(fCredit, fExp, fCVV, amount);
}

[Buggy Hunk]
pay(fCredit, fExp, fCVV, amount);

[Patch]
pay(fCredit, fExp, fCVV, Math.round(amount * 113.0)/100.0);

[Demonstration 3]

[Buggy Method]
@Override
public ResultData login(User user) {
    ResultData result = new ResultData();
    Map<String, Object> condition = new HashMap<String, Object>();
    user.setPassword(Encryption.md5(user.getPassword()));
    condition.put("username", user.getUsername());
    ResultData queryResponse = userDao.queryUser(condition);
    if (queryResponse.getResponseCode() == ResponseCode.RESPONSE_OK) {
        if (((List<User>) queryResponse.getData()).size() == 0) {
            result.setResponseCode(ResponseCode.RESPONSE_NULL);
            return result;
        }
        User target = ((List<User>) queryResponse.getData()).get(0);
        if (user.getUsername().equals(target.getUsername()) && user.getPassword().equals(target.getPassword())) {
            result.setResponseCode(ResponseCode.RESPONSE_OK);
            result.setData(target);
            return result;
        }
    }
    result.setResponseCode(ResponseCode.RESPONSE_ERROR);
    return result;
}

[Buggy Hunk]
Map<String, Object> condition = new HashMap<String, Object>();

[Patch]
Map<String, Object> condition = new HashMap<>();