# File lib/mixlib/cli.rb, line 85
    def initialize(*args)
      @options = Hash.new
      @config  = Hash.new
      
      # Set the banner
      @banner  = self.class.banner
      
      # Dupe the class options for this instance
      klass_options = self.class.options
      klass_options.keys.inject(@options) { |memo, key| memo[key] = klass_options[key].dup; memo }
      
      # Set the default configuration values for this instance
      @options.each do |config_key, config_opts|
        config_opts[:on] ||= :on
        config_opts[:boolean] ||= false
        config_opts[:required] ||= false
        config_opts[:proc] ||= nil
        config_opts[:show_options] ||= false
        config_opts[:exit] ||= nil
        
        if config_opts.has_key?(:default)
          @config[config_key] = config_opts[:default]
        end
      end
      
      super(*args)
    end