void AddAnnotation()
        {
            if (CheckAccess().Contains("denied"))
            {
                ConfigureMicrophoneAccessDialog();
                return;
            }

            // Has the first topic been selected, i.e. one of the states has changed
            if (Topics.FindAll((p) => p.SelectionState != Topic.SelectedState.never).Count == 1)
            {
                Logger.LOG_EVENT_WITH_ACTION("START_RECORDING", "");
                RecordButton.Enabled   = true;
                InterviewTimer.Enabled = true;
                AudioRecorder.Record();
                UpdateTimeLabelAsync();
            }
            var current = Topics.Find((p) => p.SelectionState == Topic.SelectedState.current);

            Queries.CreateAnnotation(AudioRecorder.CurrentTime(), InterviewSessionID, current.ID);
        }