} catch(JavaModelException e) { ExceptionHandler.handle(e, getDialogTitle(), ActionMessages.FindStringsToExternalizeAction_error_message); return new NonNLSElement[0];
	private NonNLSElement[] doRun(IStructuredSelection selection, IProgressMonitor pm) {		List elements= getSelectedElementList(selection);		if (elements == null || elements.isEmpty())			return new NonNLSElement[0];		pm.beginTask(ActionMessages.FindStringsToExternalizeAction_find_strings, elements.size()); 							try{			List l= new ArrayList();				for (Iterator iter= elements.iterator(); iter.hasNext();) {				IJavaElement element= (IJavaElement) iter.next();				if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT)					l.addAll(analyze((IPackageFragment) element, new SubProgressMonitor(pm, 1)));				else if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT)					l.addAll(analyze((IPackageFragmentRoot) element, new SubProgressMonitor(pm, 1)));				if (element.getElementType() == IJavaElement.JAVA_PROJECT)					l.addAll(analyze((IJavaProject) element, new SubProgressMonitor(pm, 1)));			}			return (NonNLSElement[]) l.toArray(new NonNLSElement[l.size()]);		} catch(JavaModelException e) {			ExceptionHandler.handle(e, 				getDialogTitle(),				ActionMessages.FindStringsToExternalizeAction_error_message); 			return new NonNLSElement[0];			} finally{			pm.done();		}	}