} catch (OperationCanceledException e) {  return null;
		private Collection doSearchTypes() {						if (ResourcesPlugin.getWorkspace() == null)				return null;						final ArrayList typesFound= new ArrayList(fSizeHint);			class RequestorAbort extends RuntimeException {				// No really serializable				private static final long serialVersionUID= 1L; 			}					ITypeNameRequestor requestor= new TypeInfoRequestor(typesFound) {				protected boolean inScope(char[] packageName, char[] typeName) {					if (fRestart)						throw new RequestorAbort();					return super.inScope(packageName, typeName);				}			};			try {				if (! search(requestor, IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, null))					return null;			} catch (RequestorAbort e) {				// query cancelled				return null;			}			return typesFound;		}