} catch (OperationCanceledException e) { return false;
	public static boolean isIndexUpToDate() {		class TypeFoundException extends Error {		}		ITypeNameRequestor requestor= new ITypeNameRequestor() {			public void acceptClass(char[] packageName, char[] simpleTypeName, char[][] enclosingTypeNames, String path) {				throw new TypeFoundException();			}			public void acceptInterface(char[] packageName, char[] simpleTypeName, char[][] enclosingTypeNames, String path) {				throw new TypeFoundException();			}		};		try {			new SearchEngine().searchAllTypeNames(ResourcesPlugin.getWorkspace(),				null,				null,				IJavaSearchConstants.PATTERN_MATCH,				IJavaSearchConstants.CASE_INSENSITIVE,				IJavaSearchConstants.TYPE,				SearchEngine.createWorkspaceScope(),				requestor,				IJavaSearchConstants.CANCEL_IF_NOT_READY_TO_SEARCH,				new NullProgressMonitor());		} catch (JavaModelException e) {			JavaPlugin.log(e);			return false;		} catch (OperationCanceledException e) {			return false;					} catch (TypeFoundException e) {		}		return true;	}