public IntegrationProject unpack(JitterPack jitterpack, JitterPackDescriptor descriptor, File destinationFolder,
ImportParameters params, ProjectLoadingIssuesHandler issuesHandler) throws JitterPackException,
UnsupportedVersionException, ProjectLoadingCancelledException {
logUnpackRequest(jitterpack, destinationFolder);
if (descriptor.isEncrypted() && params.getPassword() == null) {
throw new JitterPackException("This Jitterpak is encrypted. Please provide the correct password.");
}
JitterPackFormat format = JitterPackUtils.getPackFormat(descriptor, params);
ProjectDescriptor projectDescriptor = format.unpack(jitterpack.getFile(), destinationFolder);
return loadProject(projectDescriptor, issuesHandler, params.createNewGUIDsWhenImporting(), descriptor.isPackedProjectReadOnly());
}