protected override FileBase CreateFileAsFormatImpl(FileFormat aFormat, FileChunkStorageType aChunkStorageType, CompressionType aCompressionType, uint aMaxChunks, uint aSingleMipChunkArea)
        {
            FileBase fileBase = (FileBase)null;

            switch (aFormat)
            {
            case FileFormat.General:
                fileBase = (FileBase) new GeneralFile(aChunkStorageType, this.ArchiveName);
                break;

            case FileFormat.DDS:
            case FileFormat.XBoxDDS:
                fileBase = (FileBase) new ImageDDSFile(aChunkStorageType, this.ArchiveName, aMaxChunks, aSingleMipChunkArea);
                break;

            case FileFormat.GNF:
                fileBase = (FileBase) new ImageGNFFile(aChunkStorageType, this.ArchiveName, aMaxChunks, aSingleMipChunkArea);
                break;
            }
            fileBase.LoadFromFile(this.looseFilename, aCompressionType);
            return(fileBase);
        }