Bug 118222 [nls tooling] nls tooling is not .java agnostic
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertyKeyHyperlink.java
private void open(KeyReference keyReference) {
		if (keyReference == null)
			return;
		try {
			IEditorPart part= EditorUtility.openInEditor(keyReference.storage, true);
			EditorUtility.revealInEditor(part, keyReference.offset, keyReference.length);
		} catch (JavaModelException e) {
			JavaPlugin.log(new Status(IStatus.ERROR, JavaPlugin.getPluginId(),
				IJavaStatusConstants.INTERNAL_ERROR, PropertiesFileEditorMessages.OpenAction_error_message, e));
			ErrorDialog.openError(fShell,
				getErrorDialogTitle(),
				PropertiesFileEditorMessages.OpenAction_error_messageProblems,
				e.getStatus());
		} catch (PartInitException x) {
			String message= null;
			IWorkbenchAdapter wbAdapter= (IWorkbenchAdapter)((IAdaptable)keyReference).getAdapter(IWorkbenchAdapter.class);
			if (wbAdapter != null)
				message= Messages.format(PropertiesFileEditorMessages.OpenAction_error_messageArgs,
						new String[] { wbAdapter.getLabel(keyReference), x.getLocalizedMessage() } );
			if (message == null)
				message= Messages.format(PropertiesFileEditorMessages.OpenAction_error_message, x.getLocalizedMessage());
			MessageDialog.openError(fShell,
				PropertiesFileEditorMessages.OpenAction_error_messageProblems,
				message);
		}
	}
	private String getErrorDialogTitle() {
		return PropertiesFileEditorMessages.OpenAction_error_title;
	}
	private void showError(CoreException e) {