private List analyze(IPackageFragment pack, IProgressMonitor pm) throws JavaModelException{
private List analyze(IPackageFragment pack, IProgressMonitor pm) throws CoreException {
	private List analyze(IPackageFragment pack, IProgressMonitor pm) throws JavaModelException{		try{			if (pack == null)				return new ArrayList(0);							ICompilationUnit[] cus= pack.getCompilationUnits();				pm.beginTask("", cus.length); //$NON-NLS-1$			pm.setTaskName(pack.getElementName());						List l= new ArrayList(cus.length);			for (int i= 0; i < cus.length; i++){				pm.subTask(cus[i].getElementName());				NonNLSElement element = analyze(cus[i]);				if (element != null)					l.add(element);				pm.worked(1);				if (pm.isCanceled())					throw new OperationCanceledException();			}				return l;							} finally {			pm.done();		}		}