Bug 118222 [nls tooling] nls tooling is not .java agnostic
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertyKeyHyperlink.java
/**
	 * Searches references to the given key in the given scope.
	 *
	 * @param scope the scope
	 * @param key the properties key
	 * @return the references or <code>null</code> if the search has been canceled by the user
	 */
	private KeyReference[] search(final IResource scope, String key) {
		if (key == null)
			return new KeyReference[0];
		final List result= new ArrayList(5);
		final String searchString;
		
		if (useDoubleQuotedKey()) {
			StringBuffer buf= new StringBuffer("\""); 
			buf.append(fPropertiesKey);
			buf.append('"');
			searchString= buf.toString();
		} else
			searchString= fPropertiesKey;
		try {
			fEditor.getEditorSite().getWorkbenchWindow().getWorkbench().getProgressService().busyCursorWhile(
				new IRunnableWithProgress() {
					public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
						ResultCollector collector= new ResultCollector(result, monitor, useDoubleQuotedKey());
						TextSearchEngine engine= new TextSearchEngine();
						engine.search(createScope(scope), false, collector, new MatchLocator(searchString, true, false));
					}
				}
			);