# File lib/loquacious.rb, line 129
    def copy( config, &block )
      config = Configuration.for(config) unless config.instance_of? Configuration
      return unless config

      rv = Configuration.new
      rv.merge!(config)

      # deep copy
      rv.__desc.each do |key,desc|
        value = rv.__send(key)
        next unless value.instance_of? Configuration
        rv.__send("#{key}=", ::Loquacious.copy(value))
      end

      rv.merge!(Configuration::DSL.evaluate(&block)) if block
      rv
    end