}
else if (!destinationFolder.mkdirs()) {
throw new IOException("Failed to create the directory '" + destinationFolder + "'.");
}
CPIO cpio = new CPIO(getInputStream(progressMonitor));
cpio.setLength(getLength());
cpio.extractTo(destinationFolder, !WebObjectsInstallation.isWindows(), progressMonitor);
WebObjectsInstallation installation = new WebObjectsInstallation(destinationFolder);
progressMonitor.done();
return installation;
}