# File lib/rhc/commands.rb, line 356
      def self.argument_to_slot(options, available, arg)
        if Array(arg[:covered_by]).any?{ |k| !options.__explicit__[k].nil? }
          return nil
        end

        option = arg[:option_symbol]
        value = options.__explicit__[option] if option
        if value.nil?
          value =
            if arg[:type] == :list
              take_leading_list(available)
            else
              v = available.shift
              if v == '--'
                v = nil
              else
                available.shift if available.first == '--'
              end
              v
            end
        end

        value = options[option] if option && (value.nil? || (value.is_a?(Array) && value.blank?))
        if arg[:type] == :list
          value = Array(value)
        end
        options[option] = value if option && !value.nil?

        value
      end