code: def decode_content(self, rpb_content, sibling):
          
  
          if rpb_content.HasField("deleted") and rpb_content.deleted:
              sibling.exists = False
          else:
              sibling.exists = True
          if rpb_content.HasField("content_type"):
              sibling.content_type = bytes_to_str(rpb_content.content_type)
          if rpb_content.HasField("charset"):
              sibling.charset = bytes_to_str(rpb_content.charset)
          if rpb_content.HasField("content_encoding"):
              sibling.content_encoding = \
                  bytes_to_str(rpb_content.content_encoding)
          if rpb_content.HasField("vtag"):
              sibling.etag = bytes_to_str(rpb_content.vtag)
  
          sibling.links = [self.decode_link(link)
                           for link in rpb_content.links]
          if rpb_content.HasField("last_mod"):
              sibling.last_modified = float(rpb_content.last_mod)
              if rpb_content.HasField("last_mod_usecs"):
                  sibling.last_modified += rpb_content.last_mod_usecs / 1000000.0
  
          sibling.usermeta = dict([(bytes_to_str(usermd.key),
                                    bytes_to_str(usermd.value))
                                   for usermd in rpb_content.usermeta])
          sibling.indexes = set([(bytes_to_str(index.key),
                                  decode_index_value(index.key, index.value))
                                 for index in rpb_content.indexes])
          sibling.encoded_data = rpb_content.value
  
          return sibling
docs: Decodes a single sibling from the protobuf representation into
          a RiakObject.
  
          :param rpb_content: a single RpbContent message
          :type rpb_content: riak.pb.riak_pb2.RpbContent
          :param sibling: a RiakContent sibling container
          :type sibling: RiakContent
          :rtype: RiakContent