docs: def store(self, w=None, dw=None, pw=None, return_body=True,
                if_none_match=False, timeout=None):
          """
          Store the object in Riak. When this operation completes, the
          object could contain new metadata and possibly new data if Riak
          contains a newer version of the object according to the object's
          vector clock.
  
          :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
          :type return_body: bool
          :param if_none_match: Should the object be stored only if
                                there is no key previously defined
          :type if_none_match: bool
          :param timeout: a timeout value in milliseconds
          :type timeout: int
          :rtype: :class:`RiakObject` """
          if len(self.siblings) != 1:
              raise ConflictError("Attempting to store an invalid object, "
                                  "resolve the siblings first")
  
          self.client.put(self, w=w, dw=dw, pw=pw,
                          return_body=return_body,
                          if_none_match=if_none_match,
                          timeout=timeout)
  
          return self