# File lib/mcollective/optionparser.rb, line 48
    def parse(&block)
      yield(@parser, @options) if block_given?

      add_required_options

      add_common_options unless @exclude.include?("common")

      @include.each do |i|
        next if @exclude.include?(i)

        options_name = "add_#{i}_options"
        send(options_name)  if respond_to?(options_name)
      end

      @parser.environment("MCOLLECTIVE_EXTRA_OPTS")

      @parser.parse!

      @options[:collective] = Config.instance.main_collective unless @options[:collective]

      @options
    end