docs: public void performFinish(IProgressMonitor monitor) throws CoreException, InterruptedException {
  		final SubMonitor subMonitor = SubMonitor.convert(monitor, 4);
  		try {
  			monitor.beginTask(NewWizardMessages.NewJavaProjectWizardPageTwo_operation_create, 3);
  			if (this.currProject == null) {
  				updateProject(subMonitor.newChild(1));
  			}
  
  			final String newProjectCompliance = this.keepContent ? null : this.firstPage.getCompilerCompliance();
  			configureJavaProject(newProjectCompliance, subMonitor.newChild(1));
  		} catch (Throwable e) {
  			if (this.currProject != null) {
  				removeProvisonalProject();
  			}
  			throw e;
  		} finally {
  			subMonitor.done();
  			this.currProject = null;
  			if (this.isAutobuild != null) {
  				CoreUtility.setAutoBuilding(this.isAutobuild.booleanValue());
  				this.isAutobuild = null;
  			}
  		}
  	}