/// <summary>
        /// Creates a PropertyOrderAttribute.
        /// </summary>
        /// <param name="order">The PropertyOrder to attach to the property</param>
        /// <exception cref="ArgumentNullException">When order is null</exception>
        public PropertyOrderAttribute(PropertyOrder order)
        {
            if (order == null)
                throw FxTrace.Exception.ArgumentNull("order");

            _order = order;
        }
        /// <summary>
        /// Creates a PropertyOrderAttribute.
        /// </summary>
        /// <param name="order">The PropertyOrder to attach to the property</param>
        /// <exception cref="ArgumentNullException">When order is null</exception>
        public PropertyOrderAttribute(PropertyOrder order)
        {
            if (order == null)
            {
                throw FxTrace.Exception.ArgumentNull("order");
            }

            _order = order;
        }
            // Clear everything this class caches
            public void ClearAll() 
            {
                _categoryName = null;
                _description = null;
                _isAdvanced = null;
                _isBrowsable = null;
                _propertyValueEditor = null;
                _propertyOrder = null;
                _categoryEditorTypes = null;
                _displayName = null;

                // Internal properties we don't bind to and, hence,
                // don't need to fire PropertyChanged event:
                _isAttached = null;

                ClearValueRelatedCacheItems();

                _parent.OnPropertyChanged("CategoryName");
                _parent.OnPropertyChanged("Description");
                _parent.OnPropertyChanged("IsAdvanced");
                _parent.OnPropertyChanged("IsBrowsable");
                _parent.OnPropertyChanged("PropertyValueEditor");
                _parent.OnPropertyChanged("PropertyOrder");
                _parent.OnPropertyChanged("CategoryEditorTypes");
                _parent.OnPropertyChanged("DisplayName");
            }