code: def delete_asset_content(self, asset_content_id):
          
          # Implemented from template for
          # osid.repository.AssetAdminSession.delete_asset_content_template
          from dlkit.abstract_osid.id.primitives import Id as ABCId
          from .objects import AssetContent
          collection = JSONClientValidated('repository',
                                           collection='Asset',
                                           runtime=self._runtime)
          if not isinstance(asset_content_id, ABCId):
              raise errors.InvalidArgument('the argument is not a valid OSID Id')
          asset = collection.find_one({'assetContents._id': ObjectId(asset_content_id.get_identifier())})
  
          index = 0
          found = False
          for i in asset['assetContents']:
              if i['_id'] == ObjectId(asset_content_id.get_identifier()):
                  asset_content_map = asset['assetContents'].pop(index)
              index += 1
              found = True
          if not found:
              raise errors.OperationFailed()
          AssetContent(
              osid_object_map=asset_content_map,
              runtime=self._runtime,
              proxy=self._proxy)._delete()
          collection.save(asset)
docs: Deletes content from an ``Asset``.
  
          arg:    asset_content_id (osid.id.Id): the ``Id`` of the
                  ``AssetContent``
          raise:  NotFound - ``asset_content_id`` is not found
          raise:  NullArgument - ``asset_content_id`` is ``null``
          raise:  OperationFailed - unable to complete request
          raise:  PermissionDenied - authorization failure
          *compliance: mandatory -- This method must be implemented.*