# File lib/clamp/option/definition.rb, line 9
      def initialize(switches, type, description, options = {})
        @switches = Array(switches)
        @type = type
        @description = description
        super(options)
        @multivalued = options[:multivalued]
        if options.has_key?(:required)
          @required = options[:required]
          # Do some light validation for conflicting settings.
          if options.has_key?(:default)
            raise ArgumentError, "Specifying a :default value also :required doesn't make sense"
          end
          if type == :flag
            raise ArgumentError, "A required flag (boolean) doesn't make sense."
          end
        end
      end