Bug 173248 [IDE] Failure in IDE.saveAll reports "An error has occurred when closing the workbench...
I20070206-0010. Failure in IDE.saveAll reports "An error has occurred when closing the workbench...
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDE.java
if (page == null) {
			throw new IllegalArgumentException();
		}
		IFileStore fileStore;
		try {
			fileStore = EFS.getStore(uri);
		} catch (CoreException e) {
			throw new PartInitException(
					IDEWorkbenchMessages.IDE_coreExceptionFileStore, e);
		}
		IEditorInput input = getEditorInput(fileStore);
		
		return page.openEditor(input, editorId, activate);
	}
	/**
	 * Create the Editor Input appropriate for the given <code>IFileStore</code>.
	 * The result is a normal file editor input if the file exists in the
	 * workspace and, if not, we create a wrapper capable of managing an
	 * 'external' file using its <code>IFileStore</code>.
	 * 
	 * @param fileStore
	 *            The file store to provide the editor input for
	 * @return The editor input associated with the given file store
	 */
	private static IEditorInput getEditorInput(IFileStore fileStore) {
		IFile workspaceFile = getWorkspaceFile(fileStore);
		if (workspaceFile != null)
			return new FileEditorInput(workspaceFile);
		return new FileStoreEditorInput(fileStore);