if (propertyEditor != null) {
propertyEditor.setAsText(attributeValue);
element.setAttribute(namespace, name, propertyEditor.getValue());
} else {
final ConverterRegistry instance = ConverterRegistry.getInstance();
final ValueConverter valueConverter = instance.getValueConverter(type);
if (valueConverter != null) {
final Object o = ConverterRegistry.toPropertyValue(attributeValue, type);
element.setAttribute(namespace, name, o);
} else if (String.class.isAssignableFrom(type)) {
// the attribute would allow raw-string values, so copy the element ..