Iterator<String> () { final List<AntDomMacrodefAttribute> macrodefAttributes = myMacrodef.getMacroAttributes(); if (macrodefAttributes.isEmpty()) { return Collections.emptyIterator(); } final List<String> attribs = new ArrayList<>(macrodefAttributes.size()); for (AntDomMacrodefAttribute attribute : macrodefAttributes) { final String attribName = attribute.getName().getRawText(); if (attribName != null) { attribs.add(attribName); } } return attribs.iterator(); }