return null;
else { ErrorDialog .openError( getShell( ), Messages .getString( "NewReportProjectWizard.errorMessage" ), null, ( (CoreException) t ).getStatus( ) ); }
		private IProject createNewProject() {			if (newProject != null)				return newProject;			// get a project handle			final IProject newProjectHandle = mainPage.getProjectHandle();			// get a project descriptor			IPath newPath = null;			if (!mainPage.useDefaults())				newPath = mainPage.getLocationPath();			IWorkspace workspace = ResourcesPlugin.getWorkspace();			final IProjectDescription description = workspace					.newProjectDescription(newProjectHandle.getName());			description.setLocation(newPath);			description.setNatureIds(new String[]{"org.eclipse.birt.report.designer.ui.reportprojectnature"}); //$NON-NLS-1$					// create the new project operation			WorkspaceModifyOperation op = new WorkspaceModifyOperation() {				protected void execute(IProgressMonitor monitor)						throws CoreException {					createProject(description, newProjectHandle, monitor);				}			};			// run the new project creation operation			try {				getContainer().run(true, true, op);			} catch (InterruptedException e) {				return null;			} catch (InvocationTargetException e) {				// ie.- one of the steps resulted in a core exception				Throwable t = e.getTargetException();				if (t instanceof CoreException) {					if (((CoreException) t).getStatus().getCode() == IResourceStatus.CASE_VARIANT_EXISTS) {						MessageDialog								.openError(										getShell(),										Messages												.getString("NewReportProjectWizard.errorMessage"), //$NON-NLS-1$										Messages												.getFormattedString(														"NewReportProjectWizard.caseVariantExistsError", new String[]{newProjectHandle.getName()}) //$NON-NLS-1$,								);					} else {						ErrorDialog.openError(getShell(), Messages								.getString("NewReportProjectWizard.errorMessage"), //$NON-NLS-1$								null, // no special message								((CoreException) t).getStatus());					}				} else {					// CoreExceptions are handled above, but unexpected runtime					// exceptions and errors may still occur.					ExceptionHandler.handle( e );				    					MessageDialog							.openError(									getShell(),									Messages											.getString("NewReportProjectWizard.errorMessage"), //$NON-NLS-1$									Messages											.getFormattedString(													"NewReportProjectWizard.internalError", new Object[]{t.getMessage()})); //$NON-NLS-1$				}				return null;			}			newProject = newProjectHandle;			return newProject;		}