docs: def full_update_params(self, conn_method_name, params):
          """
          When a API method on the collection is called, this goes through the
          params & run a series of hooks to allow for updating those parameters.
  
          Typically, this method is **NOT** call by the user. However, the user
          may wish to define other methods (i.e. ``update_params`` to work with
          multiple parameters at once or ``update_params_METHOD_NAME`` to
          manipulate a single parameter) on their class, which this method
          will call.
  
          :param conn_method_name: The name of the underlying connection method
              about to be called. Typically, this is a "snake_cased" variant of
              the API name (i.e. ``update_bucket`` in place of ``UpdateBucket``).
          :type conn_method_name: string
  
          :param params: A dictionary of all the key/value pairs passed to the
              method. This dictionary is transformed by this call into the final
              params to be passed to the underlying connection.
          :type params: dict
          """
          # We'll check for custom methods to do addition, specific work.
          custom_method_name = 'update_params_{0}'.format(conn_method_name)
          custom_method = getattr(self, custom_method_name, None)
  
          if custom_method:
              # Let the specific method further process the data.
              params = custom_method(params)
  
          # Now that all the method-specific data is there, apply any further
          # service-wide changes here.
          params = self.update_params(conn_method_name, params)
          return params