}
private ArchiveAdapter createArchiveAdapter(File source, Runnable doneHook)
throws IOException {
try {
ArchiveAdapter aa = source.isFile()?new JarArchive(this, source.toURI()):
new DirectoryArchive(this, source);
return aa;
} catch (IOException e) {
if (doneHook!=null) {
doneHook.run();