def delete_asset(self, asset_id=None):
if asset_id is None:<EOL><INDENT>raise NullArgument()<EOL><DEDENT>if not isinstance(asset_id, Id):<EOL><INDENT>raise InvalidArgument('<STR_LIT>')<EOL><DEDENT>url_path = construct_url('<STR_LIT>',<EOL>bank_id=self._catalog_idstr,<EOL>asset_id=asset_id)<EOL>result = self._delete_request(url_path)<EOL>return objects.Asset(result)<EOL>
Deletes an ``Asset``.

        :param asset_id: the ``Id`` of the ``Asset`` to remove
        :type asset_id: ``osid.id.Id``
        :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.*