code: def update(self, **params):
          
          if not self.modified:
              raise ValueError("No operation to perform")
  
          params.setdefault('return_body', True)
          self.bucket._client.update_datatype(self, **params)
          self.clear()
  
          return self
docs: Sends locally staged mutations to Riak.
  
          :param w: W-value, wait for this many partitions to respond
           before returning to client.
          :type w: integer
          :param dw: DW-value, wait for this many partitions to
           confirm the write before returning to client.
          :type dw: integer
          :param pw: PW-value, require this many primary partitions to
                     be available before performing the put
          :type pw: integer
          :param return_body: if the newly stored object should be
                              retrieved, defaults to True
          :type return_body: bool
          :param include_context: whether to return the new opaque
            context when `return_body` is `True`
          :type include_context: bool
          :param timeout: a timeout value in milliseconds
          :type timeout: int
          :rtype: a subclass of :class:`~riak.datatypes.Datatype`