public static FieldDefinition GetSelfRefFieldDefIfExists(this ModelDefinition modelDef, ModelDefinition refModelDef, FieldDefinition fieldDef)
{
var refField = (fieldDef == null ? null
: modelDef.FieldDefinitions.FirstOrDefault(x => x.ForeignKey != null && x.ForeignKey.ReferenceType == refModelDef.ModelType &&
fieldDef.IsSelfRefField(x)))
?? modelDef.FieldDefinitions.FirstOrDefault(x => x.ForeignKey != null && x.ForeignKey.ReferenceType == refModelDef.ModelType)
?? modelDef.FieldDefinitions.FirstOrDefault(refModelDef.IsRefField);
return(refField);
}