func (tlz4 *TarLz4) Extract(source, target, destination string) error {
	tlz4.wrapReader()
	return tlz4.Tar.Extract(source, target, destination)
}
Extract extracts a single file from the tar archive.
If the target is a directory, the entire folder will
be extracted into destination.
package archiver
import (
	"fmt"
	"io"
	"strings"
	"github.com/pierrec/lz4"
)
type TarLz4 struct {
	*Tar
	CompressionLevel int
}
func (*TarLz4) CheckExt(filename string) error {
	if !strings.HasSuffix(filename, ".tar.lz4") &&
		!strings.HasSuffix(filename, ".tlz4") {
		return fmt.Errorf("filename must have a .tar.lz4 or .tlz4 extension")
	}
	return nil
}
func (tlz4 *TarLz4) Archive(sources []string, destination string) error {
	err := tlz4.CheckExt(destination)
	if err != nil {
		return fmt.Errorf("output %s", err.Error())
	}
	tlz4.wrapWriter()
	return tlz4.Tar.Archive(sources, destination)
}
func (tlz4 *TarLz4) Unarchive(source, destination string) error {
	tlz4.wrapReader()
	return tlz4.Tar.Unarchive(source, destination)
}
func (tlz4 *TarLz4) Walk(archive string, walkFn WalkFunc) error {
	tlz4.wrapReader()
	return tlz4.Tar.Walk(archive, walkFn)
}
func (tlz4 *TarLz4) Create(out io.Writer) error {
	tlz4.wrapWriter()
	return tlz4.Tar.Create(out)
}
func (tlz4 *TarLz4) Open(in io.Reader, size int64) error {
	tlz4.wrapReader()
	return tlz4.Tar.Open(in, size)
}