public FileSystemEntry FindEntry(Purl path, FileAndDirectoryRules rules)
 {
   if (_fileSystem.IsFile(path.AsString))
   {
     if (rules.IncludesFile(path) != IncludeExclude.Exclude)
     {
       return CreateFile(path);
     }
   }
   else if (_fileSystem.IsDirectory(path.AsString))
   {
     if (rules.IncludesDirectory(path) != IncludeExclude.Exclude)
     {
       return CreateDirectory(path, rules);
     }
   }
   return null;
 }