[Demonstration 1]

[Buggy Method]
private Uri insertEvent(Uri uri, ContentValues values) {
    //String name = values.getAsString(EventContract.EventEntry.COLUMN_EVENT_NAME);
    SQLiteDatabase database = mDbHelper.getWritableDatabase();
    Log.v(LOG_TAG, "insertEvent(): Inserting event");
    // Insert the new pet with the given values
    long id = database.insert(EventContract.EventEntry.TABLE_NAME, null, values);
    // If the ID is -1, then the insertion failed. Log an error and return null.
    if (id == -1) {
        Log.e(LOG_TAG, "Failed to insert row for " + uri);
        return null;
    }
    //Refresh after inserting data to database.
    getContext().getContentResolver().notifyChange(uri, null);
    return null;
}

[Buggy Hunk]
return null;

[Patch]
return ContentUris.withAppendedId(uri, id);

[Demonstration 2]

[Buggy Method]
@EventHandler(priority = EventPriority.MONITOR)
void pluginEnable(PluginEnableEvent event) {
    if (Arrays.asList(AllPay.validEconPlugins).contains(event.getPlugin().getDescription().getName())) {
        plugin.log("Detected " + event.getPlugin().getDescription().getName() + " v" + event.getPlugin().getDescription().getVersion() + "; attempting to hook...");
        plugin.validateAllPay();
    }
}

[Buggy Hunk]
if (Arrays.asList(AllPay.validEconPlugins).contains(event.getPlugin().getDescription().getName())) {

[Patch]
if (Arrays.asList(AllPay.getValidEconPlugins()).contains(event.getPlugin().getDescription().getName())) {

[Demonstration 3]

[Buggy Method]
public Message append(ItemStack item, String display) {
    item = item.clone();
    boolean rawName = !(item.hasItemMeta() && item.getItemMeta().hasDisplayName());
    BaseComponent nameComponent = rawName ? EnumItem.getUnlocalizedName(item) : new TextComponent(item.getItemMeta().getDisplayName());
    BaseComponent result;
    String itemJson = "";
    if (item.hasItemMeta() && item.getItemMeta() instanceof BookMeta) {
        itemJson = ReflectionUtil.convertItemStackToJson(removeBookContent(item));
    } else if (item.hasItemMeta() && item.getItemMeta() instanceof BlockStateMeta) {
        BlockStateMeta blockStateMeta = (BlockStateMeta) item.getItemMeta();
        try {
            if (blockStateMeta.hasBlockState() && blockStateMeta.getBlockState() instanceof InventoryHolder) {
                InventoryHolder inventoryHolder = (InventoryHolder) blockStateMeta.getBlockState();
                ArrayList<ItemStack> items = new ArrayList<>();
                for (int i = 0; i < inventoryHolder.getInventory().getSize(); i++) {
                    ItemStack itemStack = inventoryHolder.getInventory().getItem(i);
                    if (itemStack != null && itemStack.getType() != Material.AIR) {
                        if (items.size() < 5) {
                            if (itemStack.hasItemMeta()) {
                                if (itemStack.getItemMeta().hasLore()) {
                                    ItemMeta meta = itemStack.getItemMeta();
                                    meta.setLore(new ArrayList<String>());
                                    itemStack.setItemMeta(meta);
                                }
                                if (itemStack.getItemMeta() instanceof BlockStateMeta) {
                                    itemStack = removeBookContent(itemStack);
                                }
                            }
                            items.add(itemStack);
                        } else {
                            items.add(new ItemStack(Material.STONE));
                        }
                    }
                }
                inventoryHolder.getInventory().clear();
                for (int i = 0; i < items.size(); i++) {
                    inventoryHolder.getInventory().setItem(i, items.get(i));
                }
                blockStateMeta.setBlockState((BlockState) inventoryHolder);
                item.setItemMeta(blockStateMeta);
                itemJson = ReflectionUtil.convertItemStackToJson(item);
            } else {
                itemJson = ReflectionUtil.convertItemStackToJson(item);
            }
        } catch (IllegalStateException e) {
            itemJson = ReflectionUtil.convertItemStackToJson(item);
        }
    } else {
        itemJson = ReflectionUtil.convertItemStackToJson(item);
    }
    HoverEvent ev = new HoverEvent(HoverEvent.Action.SHOW_ITEM, new BaseComponent[] { new TextComponent(itemJson) });
    nameComponent.setHoverEvent(ev);
    if ("{itemName}".equals(display)) {
        result = nameComponent;
    } else {
        String[] plain = display.split("\\{itemName\\}");
        result = new TextComponent(plain[0]);
        result.setHoverEvent(ev);
        for (int i = 1; i < plain.length; i++) {
            result.addExtra(nameComponent);
            TextComponent tmp = new TextComponent(plain[i].replace("{amount}", Integer.toString(item.getAmount())));
            tmp.setHoverEvent(ev);
            result.addExtra(tmp);
        }
    }
    result.setHoverEvent(ev);
    inner.addExtra(result);
    return this;
}

[Buggy Hunk]
if (itemStack.getItemMeta() instanceof BlockStateMeta) {

[Patch]
if (itemStack.getItemMeta() instanceof BookMeta) {