# File lib/aws/core/option_grammar.rb, line 377
          def self.apply option, members = {}

            option.extend self

            key_option = option.key_option
            if key_descriptors = members[:key]
              key_option = key_option.extend_with_config(*key_descriptors)
              MetaUtils.extend_method(option, :key_option) { key_option }
            end

            value_option = option.value_option
            if value_descriptors = members[:value]
              value_option = value_option.extend_with_config(*value_descriptors)
              MetaUtils.extend_method(option, :value_option) { value_option }
            end

            key_option.param_name = members[:key_param] if members[:key_param]
            value_option.param_name = members[:value_param] if members[:value_param]

            separator = members[:flattened] ? '.' : '.entry.'
            MetaUtils.extend_method(option, :separator) { separator }

          end