[Demonstration 1]

[Buggy Method]
@Override
public Kaart bepaalActieOmTeSpelen(Beurt beurt, Set<Kaart> toegelatenActies) {
    return toegelatenActies.iterator().next();
}

[Buggy Hunk]
return toegelatenActies.iterator().next();

[Patch]
return toegelatenActies.toArray(new Kaart[toegelatenActies.size()])[new Random().nextInt(toegelatenActies.size())];

[Demonstration 2]

[Buggy Method]
public boolean isClosed(long time) {
    String timeStr = Utils.timeStampToString(time);
    Date date = Utils.timeStampToDate(timeStr);
    if (date.before(beginDate) || date.after(endDate)) {
        return false;
    }
    long start = date.getTime() + beginCloseTime;
    long end = date.getTime() + endCloseTime;
    if (time > start && time < end) {
        return true;
    }
    return false;
}

[Buggy Hunk]
if(date.before(beginDate) || date.after(endDate)){

[Patch]
if(date.before(beginDate) || (!date.before(endDate))){

[Demonstration 3]

[Buggy Method]
public boolean isPastEvent(String endDate) {
    try {
        Date eventDate = getLocalTime(dateFormat.parse(endDate));
        Date currentDate = new Date();
        if (eventDate.before(currentDate)) {
            return true;
        }
    } catch (ParseException e) {
        Log.e(TAG, "cannot parse date: " + endDate);
    }
    return false;
}

[Buggy Hunk]
Date eventDate = getLocalTime(dateFormat.parse(endDate));

[Patch]
Date eventDate = dateFormat.parse(endDate);