void (@NotNull Element element) { final PatternCompiler<PsiElement> helper = getCompiler(); @NlsSafe String displayName = element.getChildTextTrim("display-name"); myDisplayName = StringUtil.notNullize(displayName); myInjectedLanguageId = StringUtil.notNullize(element.getAttributeValue("language")); myPrefix = StringUtil.notNullize(getValueOrContent(element, "prefix")); mySuffix = StringUtil.notNullize(getValueOrContent(element, "suffix")); setValuePattern(getValueOrContent(element, "value-pattern")); setIgnorePattern(getValueOrContent(element, "ignore-pattern")); Element singleFileElement = element.getChild("single-file"); mySingleFile = singleFileElement == null || Boolean.parseBoolean(singleFileElement.getAttributeValue("value", "true")); readExternalImpl(element); final List<Element> placeElements = element.getChildren("place"); myPlaces = InjectionPlace.ARRAY_FACTORY.create(placeElements.size()); for (int i = 0, placeElementsSize = placeElements.size(); i < placeElementsSize; i++) { Element placeElement = placeElements.get(i); final boolean enabled = !Boolean.parseBoolean(placeElement.getAttributeValue("disabled")); final String text = placeElement.getText(); myPlaces[i] = new InjectionPlace(helper.createElementPattern(text, getDisplayName()), enabled); } if (myPlaces.length == 0) { generatePlaces(); } }