public virtual IEnumerable <Artist> ArtistLinksOfType(ArtistLinkType linkType, LinkDirection direction, bool allowInheritance = false) { if (!ArtistHelper.CanHaveRelatedArtists(ArtistType, linkType, direction)) { return(Enumerable.Empty <Artist>()); } var result = (direction == LinkDirection.ManyToOne ? Groups : Members) .Where(g => g.LinkType == linkType) .Select(g => g.GetArtist(direction)); // ReSharper disable PossibleMultipleEnumeration return(allowInheritance && BaseVoicebank != null && !result.Any() ? BaseVoicebank.ArtistLinksOfType(linkType, direction, true) : result); // ReSharper restore PossibleMultipleEnumeration }