tag.setElement(element);
final PlaceHolderResolver placeHolderResolver = this.getPlaceHolderResolver();
tag.setPlaceHolderResolver(placeHolderResolver);
final MapValue map = new MapValue();
map.setFilename(this.getFilename());
map.setGeneratorContext(this.getGenerator().getGeneratorContext());
final NodeList entriesNodeList = element.getChildNodes();
final int count = entriesNodeList.getLength();
for (int i = 0; i < count; i++) {
final Node node = entriesNodeList.item(i);
if (node.getNodeType() != Node.ELEMENT_NODE) {
continue;
}
final Element entryElement = (Element) node;
final MapEntryTag entry = new MapEntryTag();
entry.setElement(entryElement);
entry.setPlaceHolderResolver(placeHolderResolver);
final String key = entry.getKey();
final Element valueElement = entry.getValue();
final Value value = this.visitConstructorOrPropertyValue(valueElement);
map.addEntry(key, value);
}
return map;
}