# File lib/aws/core/option_grammar.rb, line 702
        def apply_rename_descriptor(m, name, new_name)
          name = ruby_name(name)
          MetaUtils.extend_method(m, :validate) do |opts|
            raise ArgumentError.new("unexpected option foo") if
              opts.key?(name) or opts.key?(name.to_sym)

            opts = opts.dup
            opts[name] = opts[new_name] if opts.key?(new_name)
            opts[name.to_sym] = opts[new_name.to_sym] if opts.key?(new_name.to_sym)
            opts.delete(new_name)
            opts.delete(new_name.to_sym)
            super(opts)
          end

          # couldn't find a better way to alias a class method
          method = m.method("params_for_#{name}")
          MetaUtils.extend_method(m, "params_for_#{new_name}") do |value|
            method.call(value)
          end
        end