@utilities.arguments_not_none<EOL><INDENT>def delete_item(self, item_id):<DEDENT>
if not isinstance(item_id, ABCId):<EOL><INDENT>raise errors.InvalidArgument('<STR_LIT>')<EOL><DEDENT>collection = JSONClientValidated('<STR_LIT>',<EOL>collection='<STR_LIT>',<EOL>runtime=self._runtime)<EOL>if collection.find({'<STR_LIT>': str(item_id)}).count() != <NUM_LIT:0>:<EOL><INDENT>raise errors.IllegalState('<STR_LIT>')<EOL><DEDENT>collection = JSONClientValidated('<STR_LIT>',<EOL>collection='<STR_LIT>',<EOL>runtime=self._runtime)<EOL>item_map = collection.find_one({'<STR_LIT>': ObjectId(item_id.get_identifier())})<EOL>objects.Item(osid_object_map=item_map,<EOL>runtime=self._runtime,<EOL>proxy=self._proxy)._delete()<EOL>collection.delete_one({'<STR_LIT>': ObjectId(item_id.get_identifier())})<EOL>
Deletes the ``Item`` identified by the given ``Id``.

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