private void mainTree_NodeValueChanged(object sender, EventArgs e)
        {
            DropDownTreeNode node = mainTree.SelectedNode as DropDownTreeNode;

            if (node != null)
            {
                int nodeIdx = this.GetTreeNodeIndex(mainTree, node);
                if (nodeIdx > -1)
                {
                    ComboItem comboItem = node.ComboBox.SelectedItem as ComboItem; // Get saved node from the ComboItem
                    if (null == comboItem)
                    {
                        _selectedImagingObservations[nodeIdx] = new ObservationSelection(new ImagingObservationXML(null));
                    }
                    else
                    {
                        ImagingObservationXML selectedImagingObservationXML = comboItem.TagValue as ImagingObservationXML;
                        if (selectedImagingObservationXML != null)
                        {
                            if (_selectedImagingObservations[nodeIdx].xmlImagingObservation.Node == null ||
                                !_selectedImagingObservations[nodeIdx].xmlImagingObservation.codeValue.Exists ||
                                !_selectedImagingObservations[nodeIdx].xmlImagingObservation.codeValue.First.Value.Equals(comboItem.TagValue))
                            {
                                _selectedImagingObservations[nodeIdx] = new ObservationSelection(new ImagingObservationXML(selectedImagingObservationXML.Node));
                            }
                        }
                        else
                        {
                            _selectedImagingObservations[nodeIdx] = new ObservationSelection(new ImagingObservationXML(null));
                        }
                    }
                }
            }

            this.UpdateTreeImagingObservation();
        }
        private void mainTree_NodeValueChanged(object sender, EventArgs e)
        {
            DropDownTreeNode node = mainTree.SelectedNode as DropDownTreeNode;

            if (node != null)
            {
                int nodeIdx = this.GetTreeNodeIndex(mainTree, node);
                if (nodeIdx > -1)
                {
                    ComboItem comboItem = node.ComboBox.SelectedItem as ComboItem; // Get saved node from the ComboItem
                    if (null == comboItem)
                    {
                        _selectedImagingObservations[nodeIdx] = new ObservationSelection(new ImagingObservationXML(null));
                    }
                    else
                    {
                        ImagingObservationXML selectedImagingObservationXML = comboItem.TagValue as ImagingObservationXML;
                        if (selectedImagingObservationXML != null)
                        {
                            if (_selectedImagingObservations[nodeIdx].xmlImagingObservation.Node == null || 
                               !_selectedImagingObservations[nodeIdx].xmlImagingObservation.codeValue.Exists ||
                               !_selectedImagingObservations[nodeIdx].xmlImagingObservation.codeValue.First.Value.Equals(comboItem.TagValue))
                            {
                                _selectedImagingObservations[nodeIdx] = new ObservationSelection(new ImagingObservationXML(selectedImagingObservationXML.Node));
                            }
                        }
                        else
                        {
                            _selectedImagingObservations[nodeIdx] = new ObservationSelection(new ImagingObservationXML(null));
                        }
                    }
                }
            }

            this.UpdateTreeImagingObservation();
        }