# File lib/rubygems/specification.rb, line 406
    def initialize
      # Each attribute has a default value (possibly nil).  Here, we
      # initialize all attributes to their default value.  This is
      # done through the accessor methods, so special behaviours will
      # be honored.  Furthermore, we take a _copy_ of the default so
      # each specification instance has its own empty arrays, etc.
      @@attributes.each do |name, default|
        if RUBY_VERSION >= "1.9" then
          self.funcall "#{name}=", copy_of(default)
        else
          self.send "#{name}=", copy_of(default)
        end
      end
      @loaded = false
      @@list << self
      yield self if block_given?
      @@gather.call(self) if @@gather
    end