def METHOD_NAME(self, group: Group, acting_user: User | RpcUser | None = None) -> None:
    from sentry import features
    from sentry.integrations.utils import sync_group_assignee_outbound
    from sentry.models import Activity
    from sentry.models.projectownership import ProjectOwnership
    affected = self.filter(group=group)[:1].count()
    self.filter(group=group).delete()
    if affected > 0:
        Activity.objects.create_group_activity(group, ActivityType.UNASSIGNED, user=acting_user)
        record_group_history(group, GroupHistoryStatus.UNASSIGNED, actor=acting_user)
        # Clear ownership cache for the deassigned group
        ownership = ProjectOwnership.get_ownership_cached(group.project.id)
        if not ownership:
            ownership = ProjectOwnership(project_id=group.project.id)
        autoassignment_types = ProjectOwnership._get_autoassignment_types(ownership)
        if autoassignment_types:
            GroupOwner.invalidate_autoassigned_owner_cache(
                group.project.id, autoassignment_types, group.id
            )
        GroupOwner.invalidate_assignee_exists_cache(group.project.id, group.id)
        GroupOwner.invalidate_debounce_issue_owners_evaluation_cache(group.project.id, group.id)
        metrics.incr("group.assignee.change", instance="deassigned", skip_internal=True)
        # sync Sentry assignee to external issues
        if features.has(
            "organizations:integrations-issue-sync", group.organization, actor=acting_user
        ):
            sync_group_assignee_outbound(group, None, assign=False)
        issue_unassigned.send_robust(
            project=group.project, group=group, user=acting_user, sender=self.__class__
        )