public virtual IEnumerable<string> GetFiles(string path, bool recursive)
{
var files = Paths.Select(f => f.Key);
if (recursive)
{
path = PathUtility.EnsureTrailingSlash(path);
files = files.Where(f => f.StartsWith(path, StringComparison.OrdinalIgnoreCase));
}
else
{
files = files.Where(f => Path.GetDirectoryName(f).Equals(path, StringComparison.OrdinalIgnoreCase));
}
return files;
}