public void createResearchItem(Node item) {
        String name = "";
        String description = "";
        ResearchEvent event = null;
        String sprite = null;
        int cost = 0;
        
        Node attr = item.getFirstChild();
        while(attr != null) {
            if(attr.getNodeType() == Node.ELEMENT_NODE) {
                if(attr.getNodeName().equalsIgnoreCase("Name")) {
                    name = attr.getFirstChild().getNodeValue();
                }
                else if(attr.getNodeName().equalsIgnoreCase("Description")) {
                    description = attr.getFirstChild().getNodeValue();
                }
                else if(attr.getNodeName().equalsIgnoreCase("Event")) {
                    event = createEvent(attr);
                }
                else if(attr.getNodeName().equalsIgnoreCase("Sprite")) {
                    sprite = attr.getFirstChild().getNodeValue();
                }
                else if(attr.getNodeName().equalsIgnoreCase("Cost")) {
                    cost = Integer.parseInt(attr.getFirstChild().getNodeValue());
                }
            }
            attr = attr.getNextSibling();
        }
        
        allResearch.put(name, new ResearchItem(name, description, event, sprite, cost));
    }