@Override
    public ArtifactContainer createContainer(
        File cacheDir,
        ArtifactContainer enclosingContainer,
        ArtifactEntry entryInEnclosingContainer,
        Object containerData) {

        if ( (containerData instanceof File) && FileUtils.fileIsFile((File) containerData) ) {
            File fileContainerData = (File) containerData;
            if ( isZip(fileContainerData) ) {
                return new ZipFileContainer(
                    cacheDir,
                    enclosingContainer, entryInEnclosingContainer,
                    fileContainerData,
                    this);
            } else {
                return null;
            }

        } else {
            if ( isZip(entryInEnclosingContainer) ) {
                return new ZipFileContainer(
                    cacheDir,
                    enclosingContainer, entryInEnclosingContainer,
                    null,
                    this);
            } else {
                return null;
            }
        }
    }
@ Override public ArtifactContainer createContainer ( File cacheDir , ArtifactContainer enclosingContainer , ArtifactEntry entryInEnclosingContainer , Object containerData ) { if ( ( containerData instanceof File ) && FileUtils . fileIsFile ( ( File ) containerData ) ) { File fileContainerData = ( File ) containerData ; if ( isZip ( fileContainerData ) ) { return new ZipFileContainer ( cacheDir , enclosingContainer , entryInEnclosingContainer , fileContainerData , this ) ; } else { return null ; } } else { if ( isZip ( entryInEnclosingContainer ) ) { return new ZipFileContainer ( cacheDir , enclosingContainer , entryInEnclosingContainer , null , this ) ; } else { return null ; } } }
Attempt to create an enclosed root zip file type container.

The entry from which the container is to be created must container
data for a zip file.

The container data, if supplied and a file, will be tested.  Otherwise,
the supplied entry will be tested.

Answer null if the container data is a file but is not a zip file, or
if the entry is not a zip entry.

@return The new enclosed root zip file container.  Null if the attempt
fails.