void loadTemplates(InputStream inputStream, final String templateName) { final SAXBuilder parser = new SAXBuilder(); try { TemplateSettings templateSettings = TemplateSettings.getInstance(); Document doc = parser.build(inputStream); Element root = doc.getRootElement(); for (Object element : root.getChildren()) { if (element instanceof Element) { final Template template = readExternal((Element) element, templateName); final String key = template.getKey(); if (key != null) { TemplateImpl existingTemplate = templateSettings.getTemplate(key, TemplateGroupName); if (existingTemplate == null) { templateSettings.addTemplate(template); } else if (TemplateGroupName.equals(existingTemplate.getGroupName())) { // Update only add if template is in the AribaWeb group templateSettings.removeTemplate(existingTemplate); templateSettings.addTemplate(template); } } } } } catch (Exception e) { e.printStackTrace(); } }