private async Task MarkScheduledReleaseStatusAsSuperseded(NotifyChangeMessage message)
        {
            // There may be an existing scheduled ReleaseStatus entry if this release has been validated before
            // If so, mark it as superseded
            var scheduled = await _releaseStatusService.GetAllByOverallStage(message.ReleaseId, Scheduled);

            foreach (var releaseStatus in scheduled)
            {
                await _releaseStatusService.UpdateStateAsync(message.ReleaseId, releaseStatus.Id, SupersededState);
            }
        }
        private async Task PublishReleases()
        {
            var scheduled = (await QueryScheduledReleases()).Select(status => (status.ReleaseId, status.Id)).ToList();

            if (scheduled.Any())
            {
                foreach (var(releaseId, releaseStatusId) in scheduled)
                {
                    await _releaseStatusService.UpdateStateAsync(releaseId, releaseStatusId,
                                                                 ScheduledReleaseStartedState);
                }

                await _queueService.QueuePublishReleaseFilesMessageAsync(scheduled);

                await _queueService.QueuePublishReleaseDataMessagesAsync(scheduled);
            }
        }