if (archive.isDirectory()) {
factory = new FileArchiveFactory();
} else {
factory = new JarArchiveFactory();
}
AbstractArchive source = factory.openArchive(archive.getAbsolutePath());
// now copy the archive, let the archivist do the job...
Archivist archivist = null;
try {
archivist = ArchivistFactory.getArchivistForArchive(source);