ResultCollector collector= new ResultCollector(result, monitor);
ResultCollector collector= new ResultCollector(result, monitor, useDoubleQuotedKey());
	private KeyReference[] search(final IResource scope, final String key) {		if (key == null)			return new KeyReference[0];		final List result= new ArrayList(5);		try {			fEditor.getEditorSite().getWorkbenchWindow().getWorkbench().getProgressService().busyCursorWhile(				new IRunnableWithProgress() {					public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {						ResultCollector collector= new ResultCollector(result, monitor);						TextSearchEngine engine= new TextSearchEngine();						engine.search(ResourcesPlugin.getWorkspace(), 								createScope(scope), false,								collector, new MatchLocator(key, true, false));					}				}			);		} catch (InvocationTargetException ex) {			String message= PropertiesFileEditorMessages.getString("OpenAction.error.messageErrorSearchingKey"); //$NON-NLS-1$			showError(new CoreException(new Status(IStatus.ERROR, JavaUI.ID_PLUGIN, IStatus.OK, message, ex.getTargetException())));		} catch (InterruptedException ex) {			return null; // canceled		}				return (KeyReference[])result.toArray(new KeyReference[result.size()]);	}