@utilities.arguments_not_none<EOL><INDENT>def set_taker(self, resource_id):<DEDENT>
<EOL>if self.get_taker_metadata().is_read_only():<EOL><INDENT>raise errors.NoAccess()<EOL><DEDENT>if not self._is_valid_id(resource_id):<EOL><INDENT>raise errors.InvalidArgument()<EOL><DEDENT>self._my_map['<STR_LIT>'] = str(resource_id)<EOL>
Sets the resource who will be taking this assessment.

        arg:    resource_id (osid.id.Id): the resource Id
        raise:  InvalidArgument - ``resource_id`` is invalid
        raise:  NoAccess - ``Metadata.isReadOnly()`` is ``true``
        *compliance: mandatory -- This method must be implemented.*