Bug 203640 [EditorMgmt] IDE.openEditor(IWorkbenchPage, IMarker, boolean) should look for an editor that matches both editor input and editor ID if o.e.ui.ide.IDE.EDITOR_ID_ATTR is set on the marker
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDE.java
public static IEditorPart openEditorOnFileStore(IWorkbenchPage page, IFileStore fileStore) throws PartInitException {
        
        if (page == null) {
			throw new IllegalArgumentException();
		}
        IEditorInput input = getEditorInput(fileStore);
        String editorId = getEditorId(fileStore);
        
        
        return page.openEditor(input, editorId);
    }
	/**
	 * Opens an internal editor on the given IFileStore object.
	 * <p>
	 * Unlike the other <code>openEditor</code> methods, this one can be used to
	 * open files that reside outside the workspace resource set.
	 * </p>
	 * <p>
	 * If the page already has an editor open on the target object then that
	 * editor is brought to front; otherwise, a new editor is opened.
	 * </p>
	 * 
	 * @param page
	 *            the page in which the editor will be opened
	 * @param fileStore
	 *            the IFileStore representing the file to open
	 * @return an open editor or <code>null</code> if an external editor was
	 *         opened
	 * @exception PartInitException
	 *                if no internal editor can be found or if the editor could