/// ------------------------------------------------------------------------------------
        private void ReadSinglePronunciation(IPaLexPronunciation pro, WordCacheEntry wentry)
        {
            var mapping = m_dataSource.FieldMappings.SingleOrDefault(m => m.NameInDataSource == "CV-Pattern-Source");

            if (mapping != null)
            {
                wentry.SetValue(mapping.NameInDataSource, pro.CVPattern);
            }

            mapping = m_dataSource.FieldMappings.SingleOrDefault(m => m.NameInDataSource == "Tone");
            if (mapping != null)
            {
                wentry.SetValue(mapping.NameInDataSource, pro.Tone);
            }

            mapping = m_dataSource.FieldMappings.SingleOrDefault(m => m.NameInDataSource == "Location");
            if (mapping != null)
            {
                wentry.SetValue(mapping.NameInDataSource,
                                GetPossibilityValue(pro.Location, false));
            }

            if (!pro.MediaFiles.Any())
            {
                return;
            }

            // TODO: Verify that the media file is audio.
            var mediaFile = pro.MediaFiles.ElementAt(0);

            // TODO: Figure out a way to deal with more than one media file and label.
            wentry.SetValue("AudioFile", mediaFile.AbsoluteInternalPath);

            mapping = m_dataSource.FieldMappings.SingleOrDefault(m => m.NameInDataSource == "AudioFileLabel");
            if (mapping != null)
            {
                wentry.SetValue("AudioFileLabel", GetMultiStringValue(mediaFile.Label, mapping.FwWsId));
            }
        }
        /// <summary>
        /// Audio files can be store in special audio writing systems in the LexememForm, the CitationForm or the
        /// Example field of the pronunciation.
        /// First field found will be used.
        /// </summary>
        private void SearchForAudioWritingSystems(WordCacheEntry wentry, IPaLexEntry lxEntry, IPaLexPronunciation pro)
        {
            if (m_audioWsId == null)
            {
                return;
            }

            string audioFile = null;

            if (lxEntry.LexemeForm != null)
            {
                audioFile = lxEntry.LexemeForm.GetString(m_audioWsId);
            }
            if (audioFile == null && lxEntry.CitationForm != null)
            {
                audioFile = lxEntry.CitationForm.GetString(m_audioWsId);
            }

            // TODO: Should look at examples also, but examples are not part of the data PA can get from FLEx.

            if (audioFile != null)
            {
                wentry["AudioFile"] = audioFile;
            }
        }