public virtual IEnumerable<string> GetDirectories(string path)
{
return Paths.GroupBy(f => Path.GetDirectoryName(f.Key))
.SelectMany(g => FileSystemExtensions.GetDirectories(g.Key))
.Where(f => !String.IsNullOrEmpty(f) &&
path.Equals(Path.GetDirectoryName(f), StringComparison.OrdinalIgnoreCase))
.Distinct();
}