private static CellEditor TryFreeze(CellEditor editor)
        {
            if ((editor != null) && !editor.IsFrozen)
            {
                DefaultCellEditorSelector.TrySeal(editor.EditTemplate);

                if (editor.CanFreeze)
                {
                    editor.Freeze();
                }
            }

            return(editor);
        }
        private static bool TryGetDataTemplate(object key, out DataTemplate value)
        {
            var resource = default(object);

            if (!DefaultCellEditorSelector.TryGetResource(key, out resource))
            {
                value = default(DataTemplate);
                return(false);
            }
            else
            {
                value = DefaultCellEditorSelector.TrySeal(resource as DataTemplate);
                return(value != null);
            }
        }