Element () { Element state = new Element("x"); for (final Language language : TemplateDataLanguageMappings.getTemplateableLanguages()) { final List<FileNameMatcher> matchers = myAssocTable.getAssociations(language); if (!matchers.isEmpty()) { final Element child = new Element("pattern"); state.addContent(child); child.setAttribute("value", StringUtil.join(matchers, fileNameMatcher -> fileNameMatcher.getPresentableString(), SEPARATOR)); child.setAttribute("lang", language.getID()); } } return state; }