public IFile OpenFile(string path, OpenMode mode)
        {
            string fullPath = GetFullPath(PathTools.Normalize(path));

            lock (Locker)
            {
                IFile baseFile = BaseFs.OpenFile(fullPath, mode);
                var   file     = new DirectorySaveDataFile(this, baseFile);

                if (mode.HasFlag(OpenMode.Write))
                {
                    OpenWritableFileCount++;
                }

                return(file);
            }
        }