# File lib/optparse.rb, line 632
    def summarize(*args, &block)
      sum = []
      list.reverse_each do |opt|
        if opt.respond_to?(:summarize) # perhaps OptionParser::Switch
          s = []
          opt.summarize(*args) {|l| s << l}
          sum.concat(s.reverse)
        elsif !opt or opt.empty?
          sum << ""
        else
          sum.concat(opt.to_a.reverse)
        end
      end
      sum.reverse_each(&block)
    end