}
return attributeElement;
}
private void saveAttribute(NodeModel node, final ITreeWriter writer, final Attribute attr) throws IOException {
final XMLElement attributeElement = new XMLElement();
attributeElement.setName(AttributeBuilder.XML_NODE_ATTRIBUTE);
attributeElement.setAttribute("NAME", attr.getName());
final Object value = attr.getValue();
final boolean forceFormatting = Boolean.TRUE.equals(writer.getHint(MapWriter.WriterHint.FORCE_FORMATTING));
if (forceFormatting) {
attributeElement.setAttribute("VALUE", TextController.getController().getTransformedTextNoThrow(value, node, null));
}
else{
attributeElement.setAttribute("VALUE", value.toString());
if(! (value instanceof String))
attributeElement.setAttribute("OBJECT", TypeReference.toSpec(value));
}
writer.addElement(attr, attributeElement);
}