void UpdateWsComboValue()
        {
            try
            {
                m_fUpdatingWsCombo = true;
                int index = CurrentListIndex;
                if (index < 0 || index >= m_choices.Count)
                {
                    wsCombo.SelectedIndex = -1;
                    wsCombo.Enabled       = false;
                    return;
                }
                InterlinLineSpec spec = m_choices[index];

                ComboBox.ObjectCollection comboObjects = WsComboItems(spec.ComboContent);
                object[] choices = new object[comboObjects.Count];
                comboObjects.CopyTo(choices, 0);
                wsCombo.Items.Clear();
                wsCombo.Items.AddRange(choices);

                int ws = spec.WritingSystem;
                wsCombo.Enabled = true;
                // JohnT: note that, because 'Default analysis' and 'Default Vernacular'
                // come first, the corresponding actual writing systems will never be
                // chosen by this algorithm.
                foreach (WsComboItem item in wsCombo.Items)
                {
                    if (getWsFromId(item.Id) == ws)
                    {
                        wsCombo.SelectedItem = item;
                        break;
                    }
                }
            }
            finally
            {
                m_fUpdatingWsCombo = false;
            }
        }