def delete_asset(self, asset_id=None):
<EOL>asset = self._asset_lookup_session.get_asset(asset_id)<EOL>for ac in asset.asset_contents:<EOL><INDENT>self.delete_asset_content(ac.ident)<EOL><DEDENT>self._provider_session.delete_asset(asset_id)<EOL>
Deletes an ``Asset``.

        arg:    asset_id (osid.id.Id): the ``Id`` of the ``Asset`` to
                remove
        raise:  NotFound - ``asset_id`` not found
        raise:  NullArgument - ``asset_id`` is ``null``
        raise:  OperationFailed - unable to complete request
        raise:  PermissionDenied - authorization failure
        *compliance: mandatory -- This method must be implemented.*