[Demonstration 1]

[Buggy Method]
public static BugActivityEvent createEvent(String type, String change) {
    BugActivityEvent event = new BugActivityEvent();
    if (STATUS.equals(type)) {
        return new StatusEvent(StatusType.convert(change));
    }
    if (RESOLUTION.equals(type)) {
        ResolutionEvent e = new ResolutionEvent();
        e.setType(ResolutionType.convert(change));
        return e;
    }
    if (ASSIGNMENT.equals(type)) {
        return new AssignmentEvent(change);
    }
    if (FLAG.equals(type)) {
        return new FlagEvent(FlagEvent.parseId(type), FlagEvent.parseFlags(change));
    }
    event.setWhat(type);
    event.setAdded(change);
    return event;
}

[Buggy Hunk]
if (FLAG.equals(type)) {

[Patch]
if (type.contains(FLAG)) {

[Demonstration 2]

[Buggy Method]
private OrderPO getOrder(int col, int row) {
    int status = (int) ((NumberCell) sheet.getCell(col + dataSize - 1, row)).getValue();
    OrderStatus orderStatus = null;
    switch(status) {
        case 0:
            orderStatus = OrderStatus.Executed;
            break;
        case 1:
            orderStatus = OrderStatus.Unexecuted;
            break;
        case 2:
            orderStatus = OrderStatus.Abnormal;
            break;
        case 3:
            orderStatus = OrderStatus.Canceled;
            break;
    }
    String orderID = sheet.getCell(col, row).getContents();
    col++;
    String memberID = sheet.getCell(col, row).getContents();
    col++;
    String hotelID = sheet.getCell(col, row).getContents();
    col++;
    String evaluation = sheet.getCell(col, row).getContents();
    col++;
    String promotion = sheet.getCell(col, row).getContents();
    col++;
    String roomName = sheet.getCell(col, row).getContents();
    col++;
    Date checkIn = ((DateCell) sheet.getCell(col, row)).getDate();
    col++;
    Date checkOut = ((DateCell) sheet.getCell(col, row)).getDate();
    col++;
    Date latestCheckIn = ((DateCell) sheet.getCell(col, row)).getDate();
    col++;
    Date creatTime = ((DateCell) sheet.getCell(col, row)).getDate();
    col++;
    Date actualCheckIn = null;
    Date actualCheckOut = null;
    Date cancelTime = null;
    if (orderStatus == OrderStatus.Executed) {
        actualCheckIn = ((DateCell) sheet.getCell(col, row)).getDate();
        col++;
        actualCheckOut = ((DateCell) sheet.getCell(col, row)).getDate();
        col++;
    } else {
        col += 2;
    }
    if (orderStatus == OrderStatus.Canceled) {
        cancelTime = ((DateCell) sheet.getCell(col, row)).getDate();
    }
    col++;
    int roomNUM = (int) ((NumberCell) sheet.getCell(col, row)).getValue();
    col++;
    int numOfClient = (int) ((NumberCell) sheet.getCell(col, row)).getValue();
    col++;
    double price = ((NumberCell) sheet.getCell(col, row)).getValue();
    col++;
    double score = ((NumberCell) sheet.getCell(col, row)).getValue();
    col++;
    double recover = ((NumberCell) sheet.getCell(col, row)).getValue();
    col++;
    boolean hasKid = true;
    int kid = (int) ((NumberCell) sheet.getCell(col, row)).getValue();
    if (kid == 0) {
        hasKid = false;
    }
    col++;
    int type = (int) ((NumberCell) wSheet.getCell(col, row)).getValue();
    RoomType roomType = null;
    switch(type) {
        case 0:
            roomType = RoomType.Single;
            break;
        case 1:
            roomType = RoomType.TwinBed;
            break;
        case 2:
            roomType = RoomType.BigBed;
            break;
        case 3:
            roomType = RoomType.Suite;
            break;
    }
    return new OrderPO(memberID, hotelID, orderID, orderStatus, creatTime, checkIn, actualCheckIn, latestCheckIn, checkOut, actualCheckOut, roomNUM, roomName, numOfClient, hasKid, score, evaluation, recover, promotion, price, cancelTime, roomType);
}

[Buggy Hunk]
int type = (int)((NumberCell) wSheet.getCell(col, row)).getValue();

[Patch]
int type = (int)((NumberCell) sheet.getCell(col, row)).getValue();

[Demonstration 3]

[Buggy Method]
private void removePetFromArm(Player player) {
    this.providePet(player, (petMeta, petBlock) -> {
        if (petBlock == null)
            this.manager.setPetBlock(player, petMeta);
        Interpreter19.setItemInHand19(player, null, true);
        this.manager.carryingPet.remove(player);
    });
}

[Buggy Hunk]
Interpreter19.setItemInHand19(player, null, true);

[Patch]
NMSRegistry.setItemInHand19(player, null, true);