# File lib/aws/core/option_grammar.rb, line 276
          def self.apply(option, members)
            options = {}
            options = option.member_options.inject({}) do |memo, member_option|
              memo[member_option.name] = member_option
              memo
            end if option.respond_to?(:member_options)
  
            super(option)
  
            members.each do |(name, descriptors)|
              member_option = options[name] || DefaultOption.new(name)
              member_option = member_option.extend_with_config(*descriptors)
              options[name] = member_option
            end
  
            MetaUtils.extend_method(option, :member_options) { options.values }
            by_ruby_name = options.values.inject({}) do |memo, member_option|
              memo[member_option.ruby_name] = member_option
              memo[member_option.name] = member_option
              memo
            end
            MetaUtils.extend_method(option, :member_option) { |n| by_ruby_name[n] }
          end