# File lib/vpim/icalendar.rb, line 334
    def components(klass=Object) #:yields:component
      klass ||= Object

      unless block_given?
        return @components.select{|c| klass === c}.freeze
      end

      @components.each do |c|
        if klass === c
          yield c
        end
      end
      self
    end