public void Delete(Party modifyingParty, UserInfo userInfo)
        {
            CheckIsWithParty(modifyingParty);

            StartTrackingSession(UserAction.DeleteCohort, modifyingParty, EmployerAccountId, ProviderId, userInfo);
            ChangeTrackingSession.TrackUpdate(this);
            LastUpdatedOn = DateTime.UtcNow;

            MarkAsDeletedAndEmitCohortDeletedEvent(modifyingParty, userInfo);

            foreach (var draftApprenticeship in DraftApprenticeships.ToArray())
            {
                RemoveDraftApprenticeship(draftApprenticeship);
            }

            ChangeTrackingSession.CompleteTrackingSession();
        }