public void apply() throws XPathExpressionException {

        Element existing = editor.getXMLElementByString("/MLP_Save/MapZone[@ID='0']/GameObjects/Pony_Objects/Object[@ID='" + id + "']");
        Element bluePrintExisting = editor.getXMLElementByString("/MLP_Save/MapZone[@ID='0']/GameObjects/Pony_Objects/Object[@ID='" + blueprintId + "']");

        // add the pony, if necessary
        if(this.add.isSelected() && bluePrintExisting != null) {

            if(existing != null) {
                // System.out.println("Pony " + id + " already on map");
            } else {
                Element ponyList = editor.getXMLElementByString("/MLP_Save/MapZone[@ID='0']/GameObjects/Pony_Objects");
                Element pony = (Element) bluePrintExisting.cloneNode(true);
                pony.setAttribute("ID", id);
                ponyList.appendChild(pony);
                MessageUtil.debug("Adding pony " + id + " directly into the game.");

                // Set "Arrived Bonus For Luna" for Luna
                Element arrive = editor.getXMLElementByString("/MLP_Save/MapZone[@ID='0']/GameObjects/Pony_Objects/Object[@ID='" + id + "']/Game/Arrive");
                arrive.setAttribute("BonusGiven", "0");
            }
        }
    }