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
*         one of the given roots
		 */
		private boolean isDescendantOfRoots(IResource resource) {
			for (int l = 0; l < roots.length; l++) {
				IResource root = roots[l];
				if (root.getFullPath().isPrefixOf(resource.getFullPath())) {
					return true;
				}
			}
			return false;
		}
		
		/**
		 * Return whether the given dirty editor part is editing resources that are
		 * descendants of the given roots.
		 * 
		 * @param part the dirty editor part
		 * @return whether the given dirty editor part is editing resources that are
		 *         descendants of the given roots
		 */
		private boolean isEditingDescendantOf(IEditorPart part) {
			IFile file = ResourceUtil.getFile(part.getEditorInput());
			if (file != null) {
				return isDescendantOfRoots(file);
			}
			return false;
		}
		
	}