private IEnumerable<string> GetCollectionFolders()
{
foreach(var root in _sourceRootFolders.Where(Directory.Exists))
{
foreach(var collectionDir in Directory.GetDirectories(root))
{
yield return collectionDir;
}
//dereference shortcuts to folders living elsewhere
foreach(var collectionDir in Directory.GetFiles(root, "*.lnk", SearchOption.TopDirectoryOnly)
.Select(ResolveShortcut.Resolve).Where(Directory.Exists))
{
yield return collectionDir;
}
}
}