[Demonstration 1]

[Buggy Method]
private void generateFrameLayout() {
    int currentOffset = 0;
    for (Node n : nodeList) {
        firm.Mode mode = n.getMode();
        if (mode == firm.Mode.getIs() || mode == firm.Mode.getBs() || mode == firm.Mode.getP()) {
            frameSlots.put(n, currentOffset);
            currentOffset += 8;
        }
    }
    frameSize = currentOffset;
}

[Buggy Hunk]
if (mode == firm.Mode.getIs() || mode == firm.Mode.getBs() || mode == firm.Mode.getP()) {

[Patch]
if (mode.equals(firm.Mode.getIs()) || mode.equals(firm.Mode.getBs()) || mode.equals(firm.Mode.getP())) {

[Demonstration 2]

[Buggy Method]
@Override
public long getLastPlayed() {
    return getHandle().getLastPlayed().getTime();
}

[Buggy Hunk]
return getHandle().getLastPlayed().getTime();

[Patch]
return getHandle().getData(JoinData.class).get().getLastPlayed().getTime();

[Demonstration 3]

[Buggy Method]
@Override
public String toString() {
    //Default the string to just air
    String string = "item:AIR";
    if (Bukkit.getServer().getPluginManager().getPlugin("CrackShot") != null) {
        return Items_Crackshot.getGunName(getItem());
    }
    if (getItem().getType() != Material.AIR) {
        //Set the string to the item name element
        string = "item:" + getItem().getType().name();
        if (getItem().hasItemMeta()) {
            //Name
            if (getItem().getItemMeta().hasDisplayName())
                string += " name:" + StringUtil.replaceToYAMLFriendlyColors(getItem().getItemMeta().getDisplayName());
            //Lore
            if (getItem().getItemMeta().hasLore() && !(getItem().getType() == Material.POTION)) {
                string += " lore:";
                for (String line : getItem().getItemMeta().getLore()) string += StringUtil.replaceToYAMLFriendlyColors(line.replaceAll(" ", "_") + "|");
                string = string.substring(0, string.length() - 1);
            }
        }
        //Durability/Data
        if (getItem().getDurability() > 0 && !isPotion())
            string += " data:" + getItem().getDurability();
        //Amount/Quantity
        if (getItem().getAmount() > 1)
            string += " amount:" + getItem().getAmount();
        //Glow
        if (EnchantGlow.isGlow(getItem()))
            string += " Glow";
        //Enchant/Enchantment
        if (!getItem().getEnchantments().isEmpty())
            for (Map.Entry<Enchantment, Integer> enchantment : getItem().getEnchantments().entrySet()) if (!enchantment.getKey().getName().equals("Glow"))
                string += " enchantment:" + enchantment.getKey().getName() + (enchantment.getValue() > 1 ? "-" + enchantment.getValue() : "");
        //Potions
        if (isPotion()) {
            PotionMeta pm = (PotionMeta) getItem().getItemMeta();
            for (PotionEffect p : pm.getCustomEffects()) string += " potion:" + p.getType().getName() + "," + p.getDuration() / 20 + "," + (p.getAmplifier() + 1);
        }
        //Leather colors
        if (getItem().getType().name().contains("LEATHER_") && (((LeatherArmorMeta) getItem().getItemMeta()).getColor() != null)) {
            LeatherArmorMeta im = (LeatherArmorMeta) getItem().getItemMeta();
            string += " color:" + im.getColor().getRed() + "," + im.getColor().getGreen() + "," + im.getColor().getBlue();
        }
        //Written Books
        if (getItem().getType() == Material.WRITTEN_BOOK) {
            BookMeta im = (BookMeta) getItem().getItemMeta();
            if (im.hasAuthor())
                string += " author:" + im.getAuthor();
            if (im.hasTitle())
                string += " title:" + im.getTitle().replaceAll(" ", "_").replaceAll("" + ChatColor.COLOR_CHAR, "&");
            if (im.hasPages()) {
                string += " pages:";
                for (String page : im.getPages()) string += page.replaceAll(" ", "_").replaceAll("" + ChatColor.COLOR_CHAR, "&") + "|";
                string = string.substring(0, string.length() - 1);
            }
        }
    }
    return string;
}

[Buggy Hunk]
if (Bukkit.getServer().getPluginManager().getPlugin("CrackShot") != null) {

[Patch]
if (Bukkit.getServer().getPluginManager().getPlugin("CrackShot") != null && Items_Crackshot.getGunName(getItem()) != null) {