public ICollection<string> Files(Directory dir, bool includeSegmentsFile)
{
var files = new HashSet<string>();
if (includeSegmentsFile)
{
string segmentFileName = SegmentsFileName;
if (segmentFileName != null)
{
files.Add(segmentFileName);
}
}
var size = Size();
for (int i = 0; i < size; i++)
{
var info = Info(i);
Debug.Assert(info.Info.Dir == dir);
if (info.Info.Dir == dir)
{
files.UnionWith(info.Files());
}
}
return files;
}