# File lib/icalendar/component.rb, line 128
    def print_properties
      s = ""

      @properties.sort.each do |key,val|
        # Take out underscore for property names that conflicted
        # with built-in words.
        if key =~ /ip_.*/
          key = key[3..-1]
        end
        
        # Property name
        unless multiline_property?(key)
           prelude = "#{key.gsub(/_/, '-').upcase}" +

           # Possible parameters
           print_parameters(val)

           # Property value
           value = ":#{val.to_ical}"
           value = escape_chars(value) unless ["rrule", "categories"].include?(key)
           add_sliced_text(s, prelude + value)
         else
           prelude = "#{key.gsub(/_/, '-').upcase}"
            val.each do |v|
               params = print_parameters(v)
               value = ":#{v.to_ical}"
               value = escape_chars(value) unless key == "rrule"
               add_sliced_text(s, prelude + params + value)
            end
         end
      end
      s
    end