<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def multiget(self, keys, r=None, pr=None, timeout=None, basic_quorum=None, notfound_ok=None, head_only=False):
 """ Retrieves a list of keys belonging to this bucket in parallel. :param keys: the keys to fetch :type keys: list :param r: R-Value for the requests (defaults to bucket's R) :type r: integer :param pr: PR-Value for the requests (defaults to bucket's PR) :type pr: integer :param timeout: a timeout value in milliseconds :type timeout: int :param basic_quorum: whether to use the "basic quorum" policy for not-founds :type basic_quorum: bool :param notfound_ok: whether to treat not-found responses as successful :type notfound_ok: bool :param head_only: whether to fetch without value, so only metadata (only available on PB transport) :type head_only: bool :rtype: list of :class:`RiakObjects <riak.riak_object.RiakObject>`, :class:`Datatypes <riak.datatypes.Datatype>`, or tuples of bucket_type, bucket, key, and the exception raised on fetch """

        bkeys = [(self.bucket_type.name, self.name, key) for key in keys]
        return self._client.multiget(bkeys, r=r, pr=pr, timeout=timeout,
                                     basic_quorum=basic_quorum,
                                     notfound_ok=notfound_ok,
                                     head_only=head_only)