public MultiFile(IFileSystem fileSystem, FileSystemPath directoryPath, string prefix)
            : base(fileSystem)
        {
            ArgAssert.NotNull(directoryPath, "directoryPath");
            ArgAssert.NotNull(prefix, "prefix");
            ArgAssert.That(prefix != "", "prefix", "not be empty");

            FileSystem.AssertDirectory(directoryPath);

            _directoryPath = directoryPath;
            _prefix        = prefix;
            _files         = new List <MultiFileFile>();

            Populate();
        }