/// <inheritdoc/>
        protected override void HandleDirectory(DirectoryInfo directory)
        {
            #region Sanity checks
            if (directory == null) throw new ArgumentNullException(nameof(directory));
            #endregion

            _nodes.Add(new ManifestDirectory("/" + directory.RelativeTo(SourceDirectory)));
        }
        /// <inheritdoc/>
        protected override void HandleDirectory(DirectoryInfo directory)
        {
            #region Sanity checks
            if (directory == null) throw new ArgumentNullException(nameof(directory));
            #endregion

            _tarStream.PutNextEntry(new TarEntry(new TarHeader
            {
                Name = directory.RelativeTo(SourceDirectory),
                TypeFlag = TarHeader.LF_DIR,
                Mode = TarExtractor.DefaultMode | TarExtractor.ExecuteMode
            }));
            _tarStream.CloseEntry();
        }
        /// <inheritdoc/>
        protected override void HandleDirectory(DirectoryInfo directory)
        {
            #region Sanity checks
            if (directory == null) throw new ArgumentNullException(nameof(directory));
            #endregion

            _zipStream.PutNextEntry(new ZipEntry(directory.RelativeTo(SourceDirectory) + '/'));
        }