public static List <LinkType> ExtractSupportedLinkTypes(
            Session session,
            string hostRecordType)
        {
            List <LinkType> retval = new List <LinkType>();

            OAdEntityDef aEntityDef = CQWrapper.GetEntityDef(session, hostRecordType);

            object[] fieldDefNameObjs = CQWrapper.GetFieldDefNames(aEntityDef) as object[];

            foreach (object fieldDefNameObj in fieldDefNameObjs)
            {
                string fieldDefName = fieldDefNameObj as string;
                int    fieldDefType = CQWrapper.GetFieldDefType(aEntityDef, fieldDefName);

                if (fieldDefType == CQConstants.FIELD_REFERENCE)
                {
                    retval.Add(new ClearQuestReferenceFieldLinkTypeBase(hostRecordType, fieldDefName));
                }
            }

            return(retval);
        }