private string FindInHierarchy(IFieldSet fields, string name) { return(fields .Generate(fs => fs.Field("Link", fld => fld.EmbeddedValues.FirstOrDefault())) .Select(fld => fld.Field(name)) .LastOrDefault(s => !string.IsNullOrEmpty(s))); }