private void HighlightOrUnhighlightRecord(DataRow currentDataRow)
        {
            bool isSelected = !Convert.ToBoolean(currentDataRow[FeatureLayerAdapter.IsSelectedColumnName]);

            currentDataRow[FeatureLayerAdapter.IsSelectedColumnName] = isSelected;
            var     featureId       = currentDataRow[FeatureLayerAdapter.FeatureIdColumnName].ToString();
            Feature selectedFeature = null;

            if (!viewModel.SelectedLayer.FeatureIdsToExclude.Contains(featureId))
            {
                viewModel.OpenFeatureLayer();
                var columns = viewModel.SelectedLayer.FeatureSource.GetColumns(GettingColumnsType.FeatureSourceOnly);
                selectedFeature = viewModel.SelectedLayer.FeatureSource.GetFeatureById(featureId, columns.Select(c => c.ColumnName).ToArray());
                viewModel.CloseFeatureLayer();
            }
            else
            {
                var editorOverlay = GisEditor.ActiveMap.FeatureLayerEditOverlay;
                if (editorOverlay != null)
                {
                    if (editorOverlay.EditShapesLayer.InternalFeatures.Contains(featureId))
                    {
                        selectedFeature = editorOverlay.EditShapesLayer.InternalFeatures[featureId];
                    }
                }
            }

            if (selectedFeature != null && selectedFeature.GetWellKnownBinary() != null)
            {
                Feature copyFeature = GisEditor.SelectionManager.GetSelectionOverlay().CreateHighlightFeature(selectedFeature, viewModel.SelectedLayer);
                copyFeature.Tag = viewModel.SelectedLayer;
                if (isSelected)
                {
                    if (IsHighlightFeatureEnabled)
                    {
                        DataViewerHelper.HightlightSelectedFeature(copyFeature);
                    }
                    viewModel.SelectedLayerAdapter.SelectedFeatures.Add(selectedFeature.Id, selectedFeature);
                }
                else
                {
                    DataViewerHelper.RemoveHightlightFeature(copyFeature);
                    viewModel.SelectedLayerAdapter.SelectedFeatures.Remove(selectedFeature.Id);
                }
                viewModel.SelectedCount = viewModel.SelectedLayerAdapter.SelectedFeatures.Count;
            }
        }