public static List <T?> GetMultiSelectValueListForPropertyDef <T>(this ObjVerEx objVerEx, int id, bool include_deleted = false)
            where T : struct
        {
            if (!typeof(T).IsEnum || !objVerEx.HasValue(id))
            {
                return(new List <T?>());
            }

            Lookups lookups = objVerEx.GetLookups(id);

            if (lookups.Count == 0)
            {
                return(null);
            }

            List <T?> Items = new List <T?>();

            foreach (Lookup lookup in lookups)
            {
                if (lookup.Deleted && !include_deleted)
                {
                    continue;
                }
                Items.Add((T)Enum.Parse(typeof(T), lookup.Item.ToString()));
            }

            return(Items);
        }