private static void CheckIsLoadedSource(ParserPropertyDefinition prop, PropertyInfo pi)
        {
            var attr = GetCustomAttribute <PDFLoadedSourceAttribute>(pi, true);

            if (null != attr && attr.IsLoadedSource)
            {
                prop.IsParserSourceValue = true;
            }
        }
        /// <summary>
        /// Returns true if the type is a known simple type (e.g. Int, DateTime, string etc).
        /// Rather than a complex multivalued type.
        /// </summary>
        /// <param name="prop">The property definition to check the type of</param>
        /// <returns>True if the type is simple (TypeCode != Empty or Object, or is an enum, or is one of the known simple types</returns>
        internal static bool IsSimpleType(ParserPropertyDefinition prop)
        {
            TypeCode tc = Type.GetTypeCode(prop.ValueType);

            if (tc != TypeCode.Empty && tc != TypeCode.Object)
            {
                return(true);
            }
            else if (prop.ValueType.IsEnum)
            {
                return(true);
            }
            else if (Array.IndexOf <Type>(ParserHelper.knownObjectTypes, prop.ValueType) >= 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }