public override bool HasValue(object obj)
        {
            if (this.m_typeCode != 0)
            {
                IPropertyStore propertyStore = ((ReportObject)obj).PropertyStore;
                switch (this.m_typeCode)
                {
                default:
                    return(propertyStore.ContainsObject(this.m_index));

                case PropertyTypeCode.Boolean:
                    return(propertyStore.ContainsBoolean(this.m_index));

                case PropertyTypeCode.Integer:
                case PropertyTypeCode.Enum:
                    return(propertyStore.ContainsInteger(this.m_index));

                case PropertyTypeCode.Size:
                    return(propertyStore.ContainsSize(this.m_index));
                }
            }
            return(this.m_property.GetValue(obj, null) != null);
        }