public LookupDataTypeModel GetAttributeDataType(ProfileTypeDefinitionModel profileItem, IDALContext dalContext)
        {
            var attributeDataType = dalContext.GetDataType(_model.DisplayName?.FirstOrDefault()?.Text);

            if (attributeDataType == null)
            {
                //TODO: SC - Question - MH - Please review this.
                //At this point, can we add the custom data type record (the profile item and the data type record)
                //Note we first do need to insert the custom data type as a profile item.
                //Possibly wrap ImportProfileItemAsync and a ImportCustomDataTypeAsync into one call.
                // MH: DataType.ImportProfileItemAsync now creates the Data Type lookup entry
                var dataTypeProfile = this.ImportProfileItem(dalContext);
                if (dataTypeProfile == null)
                {
                    throw new Exception($"Undefined data type {_model.DisplayName?.FirstOrDefault()?.Text} {_model.NodeId} in profile {profileItem.Name} ({profileItem.ID})");
                }

                attributeDataType = dalContext.GetCustomDataTypeAsync(dataTypeProfile).Result;
                if (attributeDataType == null)
                {
                    // TODO expand LookupDataTypeModel with object reference
                    attributeDataType = new LookupDataTypeModel {
                        Name = dataTypeProfile.Name, Code = "custom", CustomType = dataTypeProfile
                    };
                }
            }
            return(attributeDataType);
        }