[Demonstration 1]

[Buggy Method]
@EventHandler
public void onDamage(EntityDamageEvent event) {
    if (event instanceof EntityDamageByEntityEvent) {
        EntityDamageByEntityEvent event_EE = (EntityDamageByEntityEvent) event;
        if (event_EE.getDamager() instanceof Player) {
            Player attacker = (Player) event_EE.getDamager();
            if (attacker.hasPermission("pokeitems.berries.use")) {
                Set<String> validBerries = plugin.getConfigManager().getValidBerriesWithColors();
                List<?> validItems = plugin.getConfigManager().getAttachableItems();
                invSlots.add(attacker.getInventory().getHelmet());
                invSlots.add(attacker.getInventory().getChestplate());
                invSlots.add(attacker.getInventory().getLeggings());
                invSlots.add(attacker.getInventory().getBoots());
                invSlots.add(attacker.getInventory().getItemInMainHand());
                invSlots.add(attacker.getInventory().getItemInOffHand());
                //attacker.is.player
                for (ItemStack item : invSlots) {
                    if (item.getType() != null && validItems.contains(item.getType().toString())) {
                        if (item.getItemMeta() != null && item.getItemMeta().hasLore()) {
                            if (validBerries.contains(item.getItemMeta().getLore().get(0)) && plugin.getConfigManager().getBerryUses(item.getItemMeta().getLore().get(0)).contains("attack")) {
                                plugin.executeBerry(event_EE, attacker, item);
                            }
                        }
                    }
                }
            }
        }
    }
    if (event.getEntity() instanceof Player) {
        Player target = (Player) event.getEntity();
        //target.is.player
        if (target.hasPermission("pokeitems.berries.use")) {
            Set<String> validBerries = plugin.getConfigManager().getValidBerriesWithColors();
            List<String> validItems = plugin.getConfigManager().getAttachableItems();
            invSlots.add(target.getInventory().getHelmet());
            invSlots.add(target.getInventory().getChestplate());
            invSlots.add(target.getInventory().getLeggings());
            invSlots.add(target.getInventory().getBoots());
            invSlots.add(target.getInventory().getItemInMainHand());
            invSlots.add(target.getInventory().getItemInOffHand());
            for (ItemStack item : invSlots) {
                if (item != null && validItems.contains(item.getType().toString())) {
                    if (item.getItemMeta() != null && item.getItemMeta().hasLore()) {
                        if (validBerries.contains(item.getItemMeta().getLore().get(0)) && plugin.getConfigManager().getBerryUses(item.getItemMeta().getLore().get(0)).contains("damage")) {
                            plugin.executeBerry(event, target, item);
                        }
                    }
                }
            }
            invSlots.clear();
        }
    }
}

[Buggy Hunk]
if (item.getType()!=null && validItems.contains(item.getType().toString())){

[Patch]
if (item != null && item.getType()!=null && validItems.contains(item.getType().toString())){

[Demonstration 2]

[Buggy Method]
private void removeDeadAgents() {
    for (int i = 0; i < agentList.size(); i++) {
        RabbitsGrassSimulationAgent agnt = (RabbitsGrassSimulationAgent) agentList.get(i);
        if (agnt.getEnergy() < 1) {
            rbSpace.removeAgentAt(agnt.getX(), agnt.getY());
            agentList.remove(i);
        }
    }
}

[Buggy Hunk]
RabbitsGrassSimulationAgent agnt = (RabbitsGrassSimulationAgent) agentList.get(i);

[Patch]
RabbitsGrassSimulationAgent agnt = agentList.get(i);

[Demonstration 3]

[Buggy Method]
private static void addBlock(Block block, String name) {
    registeredBlocks.put(name, block);
    GameRegistry.registerBlock(block, name);
}

[Buggy Hunk]
private static void addBlock(Block block, String name) {

[Patch]
protected static void addBlock(Block block, String name) {