private static void RestoreLocalValue(Dictionary <DependencyProperty, object> store, ColumnBase column, DependencyProperty property)
            {
                Debug.Assert(store != null);
                Debug.Assert(column != null);
                Debug.Assert(property != null);

                object value;

                if (!store.TryGetValue(property, out value) || (value == DependencyProperty.UnsetValue))
                {
                    column.ClearValue(property);
                }
                else if (value is BindingBase)
                {
                    BindingOperations.SetBinding(column, property, ( BindingBase )value);
                }
                else
                {
                    column.SetValue(property, value);
                }
            }