@utilities.arguments_not_none<EOL><INDENT>def delete_answer(self, answer_id):<DEDENT>
<EOL>from dlkit.abstract_osid.id.primitives import Id as ABCId<EOL>from .objects import Answer<EOL>collection = JSONClientValidated('<STR_LIT>',<EOL>collection='<STR_LIT>',<EOL>runtime=self._runtime)<EOL>if not isinstance(answer_id, ABCId):<EOL><INDENT>raise errors.InvalidArgument('<STR_LIT>')<EOL><DEDENT>item = collection.find_one({'<STR_LIT>': ObjectId(answer_id.get_identifier())})<EOL>index = <NUM_LIT:0><EOL>found = False<EOL>for i in item['<STR_LIT>']:<EOL><INDENT>if i['<STR_LIT>'] == ObjectId(answer_id.get_identifier()):<EOL><INDENT>answer_map = item['<STR_LIT>'].pop(index)<EOL><DEDENT>index += <NUM_LIT:1><EOL>found = True<EOL><DEDENT>if not found:<EOL><INDENT>raise errors.OperationFailed()<EOL><DEDENT>Answer(<EOL>osid_object_map=answer_map,<EOL>runtime=self._runtime,<EOL>proxy=self._proxy)._delete()<EOL>collection.save(item)<EOL>
Deletes the ``Answer`` identified by the given ``Id``.

        arg:    answer_id (osid.id.Id): the ``Id`` of the ``Answer`` to
                delete
        raise:  NotFound - an ``Answer`` was not found identified by the
                given ``Id``
        raise:  NullArgument - ``answer_id`` is ``null``
        raise:  OperationFailed - unable to complete request
        raise:  PermissionDenied - authorization failure occurred
        *compliance: mandatory -- This method must be implemented.*