def render_properties!(xml)
    self.class.properties.each do |property, options|
      next unless instance_variable_get("@_set_#{property}")
      property_value = self.send(property)
      render_property!(property, property_value, xml, options)
    end
  end
def render_properties!(xml)
    self.class.properties.each do |property, options|
      next unless instance_variable_get("@_set_#{property}")
      property_value = self.send(property)
      render_property!(property, property_value, xml, options)
    end
  end
By default, loops through all registered properties, and renders
 each that has been explicitly set.

 May be overridden.