if (input == null) return;
	private void runWithPerspectiveSetting(String setting) {		IPerspectiveDescriptor pd= fgRegistry.findPerspectiveWithId(JavaUI.ID_HIERARCHYPERSPECTIVE);		if (pd == null) {			JavaPlugin.getDefault().logErrorMessage("Type Hierarchy perspective not found");			return;		}		IType input= null;		if (fTypes.length > 1) {			input= selectType(fTypes, fWindow.getShell(), "Select Type", fgMessage);		} else {			input= fTypes[0];		}		try {			if (setting.equals(IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_WINDOW))				fWindow.getWorkbench().openWorkbenchWindow(pd.getId(), input);						else if (setting.equals(IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_PAGE))				fWindow.openPage(pd.getId(), input);						else if (setting.equals(IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE)) {				IWorkbenchPage page= fWindow.getActivePage();				if (page != null) {					page.setPerspective(pd);				}			}			EditorUtility.openInEditor(input);		} catch (WorkbenchException e) {			MessageDialog.openError(fWindow.getShell(),				"Problems Opening Perspective",				e.getMessage());		} catch (JavaModelException e) {			MessageDialog.openError(fWindow.getShell(),				"Problems Opening Editor",				e.getMessage());		}	}