docs: def new(self, key=None, data=None, content_type='application/json',
              encoded_data=None):
          """A shortcut for manually instantiating a new
          :class:`~riak.riak_object.RiakObject` or a new
          :class:`~riak.datatypes.Datatype`, based on the presence and value
          of the :attr:`datatype <BucketType.datatype>` bucket property. When
          the bucket contains a :class:`~riak.datatypes.Datatype`, all
          arguments are ignored except ``key``, otherwise they are used to
          initialize the :class:`~riak.riak_object.RiakObject`.
  
          :param key: Name of the key. Leaving this to be None (default)
                      will make Riak generate the key on store.
          :type key: str
          :param data: The data to store in a
             :class:`~riak.riak_object.RiakObject`, see
             :attr:`RiakObject.data <riak.riak_object.RiakObject.data>`.
          :type data: object
          :param content_type: The media type of the data stored in the
             :class:`~riak.riak_object.RiakObject`, see
             :attr:`RiakObject.content_type
             <riak.riak_object.RiakObject.content_type>`.
          :type content_type: str
          :param encoded_data: The encoded data to store in a
             :class:`~riak.riak_object.RiakObject`, see
             :attr:`RiakObject.encoded_data
             <riak.riak_object.RiakObject.encoded_data>`.
          :type encoded_data: str
          :rtype: :class:`~riak.riak_object.RiakObject` or
                  :class:`~riak.datatypes.Datatype`
  
          """
          from riak import RiakObject
          if self.bucket_type.datatype:
              return TYPES[self.bucket_type.datatype](bucket=self, key=key)
  
          if PY2:
              try:
                  if isinstance(data, string_types):
                      data = data.encode('ascii')
              except UnicodeError:
                  raise TypeError('Unicode data values are not supported.')
  
          obj = RiakObject(self._client, self, key)
          obj.content_type = content_type
          if data is not None:
              obj.data = data
          if encoded_data is not None:
              obj.encoded_data = encoded_data
          return obj