public static List <T> GetMultiSelectLookupValueForObject <T>(this ObjVerEx objVerEx, int object_id, bool include_deleted = false) where T : IObjVerEx, new() { List <T> Items = new List <T>(); Lookups lookups = objVerEx.GetIndirectReferences(null, object_id).ToLookups(); foreach (Lookup lookup in lookups) { if (lookup.Deleted && !include_deleted) { continue; } ObjVerEx objVEx = new ObjVerEx(objVerEx.Vault, lookup.ObjectType, lookup.Item, lookup.Version); T classObj = new T() { objVerEx = objVEx }; if (null == classObj) { continue; } if (!Items.Contains(classObj)) { Items.Add(classObj); } } return(Items); }