Installation provisionProcess(ProcessRequirements requirements) throws Exception {
// TODO check that the installation is the same
uninstallProcess(requirements);
//String id = requirements.getId();
InstallOptions installOptions = requirements.createInstallOptions();
Profile processProfile = getProcessProfile(requirements, true);
Profile deployProcessProfile = getProcessProfile(requirements, false);
Map<String, String> configuration = ProcessUtils.getProcessLayout(fabricService, processProfile, requirements.getLayout());
//DownloadManager downloadManager = DownloadManagers.createDownloadManager(fabricService, executorService);
InstallTask applyConfiguration = new ApplyConfigurationTask(configuration, installOptions.getProperties());
List<Profile> profiles = new ArrayList<Profile>();
profiles.add(deployProcessProfile);
Map<String, File> javaArtifacts = JavaContainers.getJavaContainerArtifactsFiles(fabricService, profiles, executorService);
String versionId = Profiles.versionId(fabricService.getCurrentContainer().getVersion());
List<String> profileIds = Profiles.profileIds(profiles);