/// <summary>
        ///
        /// </summary>
        /// <param name="instance"></param>
        /// <param name="comparisonType"></param>
        /// <param name="inherit"></param>
        /// <returns></returns>
        public static Attribute RetrieveMember(object instance, Type comparisonType, bool inherit = false)
        {
            if (null == instance)
            {
                throw new ArgumentNullException("instance");
            }

            return(AttributeMemberHelpers.RetrieveMember(instance.GetType(), comparisonType, inherit));
        }
 /// <summary>
 ///
 /// </summary>
 /// <typeparam name="TDescriptor"></typeparam>
 /// <param name="instance"></param>
 /// <param name="comparisonType"></param>
 /// <param name="inherit"></param>
 /// <returns></returns>
 public static TDescriptor RetrieveMemberDescriptor <TDescriptor>(object instance, Type comparisonType, bool inherit = false)
     where TDescriptor : AttributeMemberDescriptor
 {
     return(AttributeMemberDescriptor.Initializer.Initialize <TDescriptor>(AttributeMemberHelpers.RetrieveMember(instance, comparisonType, inherit)));
 }