if (monitor == null)
if (monitor == null) { fCountingProgressMonitor= new CountingProgressMonitor();
	static boolean search(ITypeNameRequestor requestor, int waitingPolicy, IProgressMonitor monitor) {		long start= System.currentTimeMillis();		try {			if (monitor == null)				monitor= fCountingProgressMonitor;					new SearchEngine().searchAllTypeNames(				null,				null,				SearchPattern.R_PATTERN_MATCH, // case insensitive				IJavaSearchConstants.TYPE,				SearchEngine.createWorkspaceScope(),				requestor,				waitingPolicy,				monitor);		} catch (JavaModelException e) {			JavaPlugin.log(e);			if (TRACING) {				System.out.println("All Types Cache -- building cache failed"); //$NON-NLS-1$			}			return false;		}		if (TRACING) {			System.out.println("All Types Cache"); //$NON-NLS-1$			System.out.println("\t cache populated in thread: " + Thread.currentThread().getName()); //$NON-NLS-1$			System.out.println("\t time needed to perform search: " + (System.currentTimeMillis() - start) + "ms");  //$NON-NLS-1$//$NON-NLS-2$)		}		return true;	}