/// <summary>
        /// Returns a collection of property descriptors for the object represented by this type descriptor.
        /// </summary>
        /// <returns>
        /// A <see cref="T:System.ComponentModel.PropertyDescriptorCollection"/> containing the property descriptions for the object represented by this type descriptor. The default is <see cref="F:System.ComponentModel.PropertyDescriptorCollection.Empty"/>.
        /// </returns>
        public override PropertyDescriptorCollection GetProperties()
        {
            // Enumerate the original set of properties and create our new set with it
            List <PropertyDescriptor> properties = new List <PropertyDescriptor>();

            foreach (ExifProperty prop in owner.Properties)
            {
                ExifPropertyDescriptor pd = new ExifPropertyDescriptor(prop);
                properties.Add(pd);
            }

            // Finally return the list
            return(new PropertyDescriptorCollection(properties.ToArray(), true));
        }
        /// <summary>
        /// Returns a collection of property descriptors for the object represented by this type descriptor.
        /// </summary>
        /// <returns>
        /// A <see cref="T:System.ComponentModel.PropertyDescriptorCollection"/> containing the property descriptions for the object represented by this type descriptor. The default is <see cref="F:System.ComponentModel.PropertyDescriptorCollection.Empty"/>.
        /// </returns>
        public override PropertyDescriptorCollection GetProperties()
        {
            // Enumerate the original set of properties and create our new set with it
            List<PropertyDescriptor> properties = new List<PropertyDescriptor>();

            foreach (ExifProperty prop in owner.Properties)
            {
                ExifPropertyDescriptor pd = new ExifPropertyDescriptor(prop);
                properties.Add(pd);
            }

            // Finally return the list
            return new PropertyDescriptorCollection(properties.ToArray(), true);
        }