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