public static IEnumerable <Artifact> FindMatches(IEnumerable <Artifact> artifactCollection, Artifact targetArtifact) { var artifacts = from a in artifactCollection where a.Group == targetArtifact.Group && a.Name == targetArtifact.Name select a; var versions = artifacts.Select(x => x.Version); var matchVersions = semver.FindMatches(versions, targetArtifact.Version); var matches = artifacts.Where(a => matchVersions.Contains(a.Version)); return(matches); }